如何使bash正则表达式更具可读性?

时间:2013-03-31 20:01:50

标签: bash indentation

以下是一个很好的缩进Python正则表达式的示例(取自here):

charref = re.compile(r"""
 &[#]                # Start of a numeric entity reference
 (
     0[0-7]+         # Octal form
   | [0-9]+          # Decimal form
   | x[0-9a-fA-F]+   # Hexadecimal form
 )
 ;                   # Trailing semicolon
""", re.VERBOSE)

现在,我想对bash正则表达式(即sed或grep)使用相同的技术,但到目前为止找不到对类似功能的任何引用。甚至可以缩进(并评论)这样的东西吗?

echo "$MULTILINE | sed -re 's/(expr1|expr2)|(expr3|expr4)/expr5/g'

1 个答案:

答案 0 :(得分:1)

你可以使用bash的续行,可能:

echo "start of a line \
continues the previous line \
yet another continuation
oops. this is a brand new line"

注意前两行末尾的反斜杠。他们基本上“逃脱”了新行/换行符,否则会告诉bash你正在开始一个新行,这也隐含地终止了被定义的语句。