查找字符串并在unix中的行尾添加另一个字符串

时间:2013-04-13 09:14:01

标签: unix

我有一个以下格式的文件。

111286,QWER ,ABCD ,AKL ,A/C ,L ,NZLC ,xyz@msn.com ,+6421365188 ,QN ,All , 
111278,TATA ,BATMAN ,AKL ,CFA ,L ,NZLC , ,00000006672 ,QN ,All , 

需要搜索第一个单词并在行尾添加一个新单词,如下所示

如果搜索模式为111286且新词为MDW,则结果为

111286,HAYDEN ,FERGUSSON ,AKL ,A/C ,L ,NZLC ,Dr1fty@msn.com ,+6421365188 ,QN ,All ,MDW,

2 个答案:

答案 0 :(得分:3)

您可以尝试使用 sed

sed -e 's/^\(.*\)111288\(.*\)$/\1111288\2MDW,/g' /path/to/your-file

如果你只想匹配行的开头,那么它看起来像

sed -e 's/^111288\(.*\)$/111288\1MDW,/g' /path/to/your-file

如果您不想同时匹配11128111288

,可以在模式后添加逗号
sed -e 's/^111288,\(.*\)$/111288,\1MDW,/g' /path/to/your-file

答案 1 :(得分:1)

sed '/111286/s/ $/MDW,/' foo.txt

结果

111286,QWER ,ABCD ,AKL ,A/C ,L ,NZLC ,xyz@msn.com ,+6421365188 ,QN ,All ,MDW,
111278,TATA ,BATMAN ,AKL ,CFA ,L ,NZLC , ,00000006672 ,QN ,All ,
  • 搜索111286
  • MDW,
  • 替换行尾