从命令行unix中查找和替换

时间:2010-02-23 17:21:36

标签: unix replace

我有一个多行文本文件,其中每行的格式为

..... Game #29832: ......

我想在每一行的每个数字上附加字符'1'(每行都不同),有没有人知道从命令行执行此操作的方法?

谢谢

4 个答案:

答案 0 :(得分:6)

sed -i -e 's/Game #[0-9]*/&1/' file

-i用于就地编辑,&表示与模式匹配的任何内容。如果您不想覆盖该文件,请省略-i标志。

答案 1 :(得分:4)

使用sed

cat file | sed -e 's/\(Game #[0-9]*\)/\11/'

答案 2 :(得分:1)

sed 's/ Game #\([0-9]*\):/ Game #1\1:/' yourfile.txt

答案 3 :(得分:0)

GNU awk

awk '{b=gensub(/(Game #[0-9]+)/ ,"\\11","g",$0); print b }' file