是否可以将 AWK 命令拆分为多行而不出错?
Is it possible to split an AWK command in multiple lines, without having an error?
我有一个很长的 AWK 命令
awk -v AWK_SECTION_TITLE="$SECTION_TITLE" -v AWK_ADDED="$ADDED" -v AWK_CHANGED="$CHANGED" -v AWK_FIXED="$FIXED" -v AWK_REMOVED="$REMOVED" 'NR=='"$CHANGELOG_INSERT_LINE"'{
print AWK_SECTION_TITLE
....
我想知道是否可以将第一部分(我在此处设置 awk 作用域的变量)分成多行,使用一些反斜杠或任何其他语法。
我试过这种方法:
awk
\ -v AWK_SECTION_TITLE="$SECTION_TITLE"
\ -v AWK_ADDED="$ADDED"
...
这就是错误
usage: awk [-F fs] [-v var=value] [-f progfile | 'prog'] [file ...]
script.sh: line 65: -v: command not found
我试过这种方法:
awk -v AWK_SECTION_TITLE="$SECTION_TITLE"
\ -v AWK_ADDED="$ADDED" -v AWK_CHANGED="$CHANGED"
这就是错误
awk: no program given
我试过这种方法:
awk -v AWK_SECTION_TITLE="$SECTION_TITLE"
\ -v AWK_ADDED="$ADDED" -v AWK_CHANGED="$CHANGED"
这就是错误
awk: no program given
提前致谢。
当你添加一个转义符时,它是为了转义它后面的字符。将它放在一行的开头会转义该行上它后面的任何字符,而不是你想在前一行末尾转义的命令终止换行符。
做:
cmd foo \
bar
而不是:
cmd foo
\ bar
我有一个很长的 AWK 命令
awk -v AWK_SECTION_TITLE="$SECTION_TITLE" -v AWK_ADDED="$ADDED" -v AWK_CHANGED="$CHANGED" -v AWK_FIXED="$FIXED" -v AWK_REMOVED="$REMOVED" 'NR=='"$CHANGELOG_INSERT_LINE"'{
print AWK_SECTION_TITLE
....
我想知道是否可以将第一部分(我在此处设置 awk 作用域的变量)分成多行,使用一些反斜杠或任何其他语法。
我试过这种方法:
awk
\ -v AWK_SECTION_TITLE="$SECTION_TITLE"
\ -v AWK_ADDED="$ADDED"
...
这就是错误
usage: awk [-F fs] [-v var=value] [-f progfile | 'prog'] [file ...]
script.sh: line 65: -v: command not found
我试过这种方法:
awk -v AWK_SECTION_TITLE="$SECTION_TITLE"
\ -v AWK_ADDED="$ADDED" -v AWK_CHANGED="$CHANGED"
这就是错误
awk: no program given
我试过这种方法:
awk -v AWK_SECTION_TITLE="$SECTION_TITLE"
\ -v AWK_ADDED="$ADDED" -v AWK_CHANGED="$CHANGED"
这就是错误
awk: no program given
提前致谢。
当你添加一个转义符时,它是为了转义它后面的字符。将它放在一行的开头会转义该行上它后面的任何字符,而不是你想在前一行末尾转义的命令终止换行符。
做:
cmd foo \
bar
而不是:
cmd foo
\ bar