如何在任意行号的文件中添加/(插入字符串)到目录中的多个文件?

时间:2010-06-04 11:03:25

标签: linux unix shell

可以使用tee命令完成追加。

cat file | tee -a >> *

有没有办法进行前置/插入? 感谢。

2 个答案:

答案 0 :(得分:2)

使用sed可能有帮助

示例:

sed -i.bak '3 r tmp1.txt' settings.xml 

将在settings.xml中的第3行之后添加tmp1.txt的内容(并创建扩展名为.bak的备份文件)

答案 1 :(得分:0)

只是一个简短的例子:说出来,注释掉特定/特定/任意的C行:

$ echo -e "1\n2\n3\n4\n5\n6\n" | sed "3s,^,/* ,;5s,$, */,"
1
2
/* 3
4
5 */
6

注意:

  • sed命令遵循格式"${linenum}s/${search}/${replace}/"
  • 然后两个命令可以用分号“;
  • 分隔
  • 使用逗号“,”作为分隔符,以便于阅读s///
  • Caret'^'匹配行首;美元'$'匹配行尾; s///将仅替换 那些(meta?)“characters”

当然,这应该通过-i切换到sed来修改,以最终替换文件内容..

干杯!

编辑:参考: