Answers:
要注释bla.conf的第2至4行:
sed -i '2,4 s/^/#/' bla.conf
要制作所需的命令,只需将以上内容放入名为注释的shell脚本中:
#!/bin/sh
sed -i "$1"' s/^/#/' "$2"
该脚本的用法与您的脚本相同,不同之处在于第一行和最后几行用逗号而不是破折号隔开。例如:
comment 2,4 bla.conf
可以类似地创建取消注释命令。
sed
的行选择功能非常强大。除了通过数字指定第一行和最后一行之外,还可以通过正则表达式指定它们。所以,如果你想从命令包含一个所有行foo
到一个包含bar
,使用:
comment '/foo/,/bar/' bla.conf
使用BSD sed时,该-i
选项需要一个参数,即使它只是一个空字符串。因此,例如,将上面的top命令替换为:
sed -i '' '2,4 s/^/#/' bla.conf
并且,将脚本中的命令替换为:
sed -i '' "$1"' s/^/#/' "$2"
'
之后的加倍是否是-i
故意的?不需要他们
使用GNU sed(将文件替换为该-i
选项):
sed -i '14,18 s/^/#/' bla.conf
sed -i '14,18 s/^##*//' bla.conf
sed
,perl
通过terdon等。具体的甲!