我使用以下sed语法将#zonezone
替换为时区字符串实际上sed命令替换它, 但是在时区字符串之后我们有一个或更多的空格然后sed没有替换它
我的问题是我需要在sed语法中更改以替换timezone字符串 在这两种情况下
在时区字符串后,我们有空格或更多
sed -i '/timezone$/s/timezone/#timezone/' file
答案 0 :(得分:4)
您可以尝试:
sed -i.bak -r 's/timezone ?$/#timezone/' file
您需要在空格后添加?
,这将使空格可选。此外,您还必须添加-r
选项以使sed了解扩展正则表达式。
此外,您未在-i
选项后指定备份扩展名。
答案 1 :(得分:0)
将两个案例说明为一个,当它位于行尾时,您想要替换“时区”,后跟零个或多个空格。应该是这样的:
sed -i 's/timezone *$/#timezone/' file
答案 2 :(得分:0)
对于您的情况,这应该是理想的解决方案。
sed 's/timezone *$\|timezone/#&/' INPUT_FILE