You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编写Shell脚本提取文本文件中第6列值为60的行

提取第6列值为60的行到新文件的Shell脚本方案

处理这种按列筛选文本的需求,用awk是最直接可靠的方式——它专门擅长处理结构化的文本数据,语法也很直观。

核心命令

直接运行这条命令就能完成需求:

awk '$6 == 60' your_input_file.txt > filtered_output.txt

命令细节解释

  • awk:这是Unix/Linux系统里处理文本的经典工具,会逐行读取输入文件,默认以空格(包括多个连续空格)作为列的分隔符,完美适配你提供的文本格式。
  • $6 == 60:这是awk的筛选规则,意思是只保留第6列的值恰好等于60的行。这里的$6就代表每行的第6个字段,非常好理解。
  • your_input_file.txt:把这个替换成你实际的原始数据文件名(比如题目里提到的那个包含SURF96数据的文本文件)。
  • > filtered_output.txt:将筛选后的结果写入新的filtered_output.txt文件中。如果这个文件已经存在,会被覆盖;如果想追加到现有文件末尾,可以把>换成>>。

备选方法(不推荐,仅作参考)

如果你的数据格式完全固定(列之间的空格数绝对一致,且"60"不会出现在其他列的位置),也可以用grep,但这种方法适应性极差,一旦数据格式有微小变化就会出错:

grep -E '^SURF96 R U X 0 60 ' your_input_file.txt > filtered_output.txt

这个命令是匹配以SURF96 R U X 0 60 开头的行,但如果列之间的空格数变多、或者数据前缀有调整,就会失效,所以还是优先用awk方案。

小提示

运行命令前可以先测试一下,比如直接执行awk '$6 == 60' your_input_file.txt,让结果直接输出在终端,确认筛选正确后再重定向到文件里,避免误覆盖重要数据。

内容的提问来源于stack exchange,提问作者rehman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:21:26