是否可以在没有错误的情况下将AWK命令拆分为多行? [重复]

问题描述 投票:0回答:1

我有一个相当长的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

提前感谢。

shell awk sh indentation
1个回答
0
投票

当您添加转义符时,就是转义其后的字符。将其放在行的开头将转义其后的所有字符而不是换行符。做:

cmd foo \
    bar

不是:

cmd foo
\    bar
© www.soinside.com 2019 - 2024. All rights reserved.