代码之家  ›  专栏  ›  技术社区  ›  Aly

从命令行unix查找和替换

  •  5
  • Aly  · 技术社区  · 15 年前

    我有一个多行文本文件,每行都有格式

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

    我想将字符“1”附加到每行的每个数字上(每行都不同),有人知道从命令行执行此操作的方法吗?

    谢谢

    4 回复  |  直到 15 年前
        1
  •  4
  •   anshul    15 年前

    使用 sed :

    cat file | sed -e 's/\(Game #[0-9]*\)/\11/'
    
        2
  •  6
  •   Alok Singhal    15 年前
    sed -i -e 's/Game #[0-9]*/&1/' file
    

    -i 用于就地编辑,以及 & 意味着任何与模式匹配的东西。如果不想覆盖该文件,请忽略 -我 旗帜。

        3
  •  1
  •   Alok Singhal    15 年前
    sed 's/ Game #\([0-9]*\):/ Game #1\1:/' yourfile.txt
    
        4
  •  0
  •   ghostdog74    15 年前

    GNU awk(GNU awk)

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