【发布时间】:2018-10-25 20:26:47
【问题描述】:
我有一个包含许多列和行的大文件。我想根据我要替换的所有字符串共有的子字符串替换第一列中的整个字符串。这是我所拥有的一个示例:
AAA_1765 866 HTG
AAA_1873 987 IGA
AAA_1922 413 BOK
我希望第一列中包含子字符串 AAA_1 的所有字符串都完全替换为另一个字符串,使其看起来像这样:
BBB_2 866 HTG
BBB_2 987 IGA
BBB_2 413 BOK
我一直在使用 sed 进行搜索/替换:
sed 's/^AAA_1*/BBB_2/' infile.txt >outfile.txt
sed 's/^AAA_1.*/BBB_2/' infile.txt >outfile.txt
但第一次使用只用 BBB_2 替换子字符串 AAA_1 并保留字符串的其余部分(我希望将完整字符串替换为 BBB_2),第二次使用将整行替换为 BBB_2(我只想要字符串在第一列被替换)。
也许 awk 是我需要的?任何建议都会有所帮助。
【问题讨论】: