我经常在我的 bash 脚本中使用 grep 和 sed。例如,我使用脚本从模板中删除注释
在此示例中,注释如下所示:
/*# my comments contain text and ascii art:
*#
*# [box1] ------> [box2]o
*#
#*/
我删除这些行的 sed 链如下所示:
sed '/^\/\*#/d' | sed '/^\s*\*#/d' | sed '/^\s*#\*\//d'
在我的脚本中,我必须转义诸如\
and之类的字符/
,这会降低代码的可读性。因此,我的问题是:如何sed
在 bash 脚本中编写易于阅读的正则表达式?
我能想到的一种方法是使用另一个分隔符而不是/
,就像在 vim 中您可以本机使用%s#search/text#replace/text#gc
(使用#
as 分隔符)并因此允许/
作为未转义字符一样。定义一个替代的转义字符也会有所帮助。我会对你如何解决这个问题感兴趣。sed
如果您认为这只是一个问题,我也愿意接受替代工具。