我正在寻找一种简单的方法来更改一个文件中的多行,编辑它们并在找到的行下复制它们。
编辑前的示例:
...
#-#parents hostnamexy
...
...
#-#parents hostnameyz
...
编辑后的示例:
...
#-#parents hostnamexy
_parents hostnamexy
...
...
#-#parents hostnameyz
_parents hostnameyz
...
我不想写一个大的shell脚本来做这个并认为它可以用sed吗?
感谢您的帮助!!
Greets Matze
答案 0 :(得分:3)
sed '/#-#parents/{p;s/#-#/_/;}'
打印所有字符串,但是当我们有#-#parents
时,会打印该字符串,然后进行替换。自动打印负责发出固定版本。
IHTH。
答案 1 :(得分:1)
awk '7;sub(/^#-#parents/,"_parents")' file
这条线可能有用。
答案 2 :(得分:0)
awk '1;/Searchterm/{print "whatever you want"}' file
确切输入和输出
awk '1;/hostname/{print "_parents\t"$2 }' file