【问题标题】:Change content of multiple files with `for-loop or other methods?使用`for-loop或其他方法更改多个文件的内容?
【发布时间】:2015-03-15 11:36:37
【问题描述】:

对于文件file1file2file3,它们每一个在第ith中都有相同的值行,像这样

...
10  (the i th line)
...

如何将所有文件的第 i 行中的“10”更改为另一个值,例如 100?

【问题讨论】:

  • @Avinash Raj 我认为它可以是像for i in `seq 1 1 3`; do sed 's/10/100' file$i >$i; done 这样的命令它不起作用。此外,我知道我尝试过的这个命令没有提到行号 i.
  • 你的意思是for i in *.*; do sed "10s/10/100/" "$i"; done

标签: for-loop sed


【解决方案1】:

不需要 for 循环:使用 globbing 匹配所有文件,并使用 sed -i 就地编辑它们

sed -i "$i{s/.*/100/}" file*

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-06-17
    • 1970-01-01
    • 2016-02-29
    • 2017-07-23
    • 2014-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多