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

如何用awk提取file.txt中最后一列含gene_type=transcribed_unprocessed的行?

问题解决:提取file.txt中第9列包含指定字符串的行

原命令失败原因

  • 第一个命令误用了Shell的[[ ]]语法:awk有独立的条件判断逻辑,不支持bash的[[ ]]语法,导致命令无法正确执行。
  • 第二个命令错误指定分隔符:原文件的列分隔符是空白(制表符/空格),但你用-F,将逗号设为分隔符,整行被识别为第1列,$9不存在,自然无匹配结果。

正确命令

方法1:正则匹配(推荐)

awk '$9 ~ /gene_type=transcribed_unprocessed/' file.txt > output.txt

awk默认以空白作为列分隔符,$9对应第9列,~ /pattern/用于判断列内容是否匹配目标正则,这里直接匹配指定字符串即可。

方法2:用index函数判断子串存在

awk 'index($9, "gene_type=transcribed_unprocessed") > 0' file.txt > output.txt

index($9, "目标字符串")返回目标字符串在$9中的起始位置,返回值大于0即表示该子串存在。

执行上述任意命令后,output.txt会包含你需要的第1、3、4、6行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 10:45:37