【发布时间】:2015-06-06 12:50:19
【问题描述】:
我正在尝试从文本文件中删除与字符串匹配的行中的某些列,但其余行保持不变。
假设我有一个文件(实际上有数千行)
10 12 a
USA John TGCAGG
USA John TGCATG
5 2 b
CAN Tom TGCACG
CAN Tom TGCAAC
....
我想创建一个新文件,删除包含 TGCA 的行中的第二列,但保留所有其他行不变。我想看看:
10 12 a
USA TGCAGG
USA TGCATG
5 2 b
CAN TGCACG
CAN TGCAAC
我可以修改在匹配的行上打印哪些列,使用正则表达式启动 awk 或 sed,但我无法打印其他行(未修改)或保留这些行的顺序。
我需要在 awk 中使用 if 语句吗?尝试使用下一个,但我认为我没有这个权利。
【问题讨论】:
标签: regex bash awk sed pattern-matching