ファイル名が必要な機能があります。その後、コマンドを実行し、2つのパターン(除外)間の出力をフィルタリングし、コマンドのファイル名出力とともにコンマ区切り値を出力します。
関数と期待される出力は次のとおりです。
get_cons_obs() {
local line="${1}"
"command" -i "${line}" 2>&1 \
| awk '/^ERROR$/{print "ERROR"} /^START$/{flag=1;next} /^END$/{flag=0} flag' \
| xargs printf "${line},%s\n"
}
file01,thing01
file01,thing02
file01,thing03
.
.
.
awk
コマンドとコマンドをxargs printf
組み合わせることはできますか?$line
変数に「マーク」行を追加できないようです。
答え1
ゼロ以外の場合に印刷できるように、line
シェル変数をawkに渡したいと思います。flag
前任者。
awk -v line="$line" '. . . flag {printf "%s,%s\n", line, $0}'
また、見ることができます
答え2
次のコマンドを試してください。素晴らしい作品。
awk '/pattern1/,/pattern2/{print $0","FILENAME}' filename