将尾随单词添加到文件中的特定行

将尾随单词添加到文件中的特定行

例如,我有一个文件包含许多这样的行

AAA ATAGSGSGS
BBB Thhahahahahs
CCC lmmmmm
DDD GAGAGAGAGA

AAA IIIII
BBB OOOO
CCC YYYYY

...等等

我想在以 CCC 开头的所有行的末尾添加特定单词。

例如。我想添加“微笑”这个词,所以结果是

AAA ATAGSGSGS
BBB Thhahahahahs
CCC lmmmmm smile
DDD GAGAGAGAGA

AAA IIIII
BBB OOOO
CCC YYYYY smile

你能告诉我该怎么做吗?

答案1

sed -i.backup '/^CCC/s/$/ smile/' data.txt

探索这个 sed 命令和程序:

  1. sed -i.backup就地模式——编辑输入文件并(可选)备份带有后缀(.backup)的原始文件。
  2. /^CCC/要查找的正则表达式 -^以 CCC 开头 ( ) 的字符串。
  3. s/$/ smile/搜索 string( s/$/) 的末尾并将其替换为 smile ( smile/)。

答案2

尝试:

sed -E 's/^(CCC.+)/\1 smile/' <data.in >data.out

您还可以就地编辑:

sed -i -E 's/^(CCC.+)/\1 smile/' data.dat

相关内容