例如,我有一個文件包含許多這樣的行
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 指令和程序:
sed -i.backup
就地模式-編輯輸入檔並(可選)備份帶有後綴(.backup
)的原始檔案。/^CCC/
要尋找的正規表示式 -^
以 CCC 開頭 ( ) 的字串。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