【发布时间】:2015-04-21 22:55:11
【问题描述】:
我正在尝试注释脚本中存在给定模式列表中的模式的行。现在,我可以在命令行上通过以下方式进行操作:
sed '/abcdefg/ s/^/#/' file.sql > file.commented
但是,如果我将变量用于模式(而不是像上面那样直接使用 abcdefg),我将无法做到这一点。
pattern=abcdefg
sed '/$pattern/ s/^/#/' file.sql > file.commented
看起来它正在转义美元字符而不是获取变量的值。
你如何用 awk 做同样的事情?
【问题讨论】:
-
您是否浪费了十秒钟在 StackOverflow 中寻找答案?这个问题已经被问过并解决了数百次。
-
好吧,对不起。但是我昨天也搜索了它,并尝试了不同的东西,然后在这里度过/浪费了我的时间。我将删除问题。
-
@AjimBagwan:不要删除问题,因为下面已经发布了非正则表达式选项的答案,这可能会帮助其他读者。
-
@AjimBagwan:在我看来,一旦你问了它,就没有必要删除它,因为有些用户会花时间帮助你。