私はこのコードを書いています:
awk -F'=' '!/^$/{arr[$1]=$2}END{for (x in arr) {print x"="arr[x]}}' 1.txt 2.txt
このコードは空白行を無視しますが、#(コメント)で始まる行も無視したいと思います。
複数のパターンを追加する方法はありますか?
!/^$/
に変更
!/^($|#)/
また
!/^($|[:space:]*#)/
の前の空白を無視したい場合#
。
awk 'NF && $1!~/^#/' data.txt
空白以外のすべての行(フィールド数がゼロではない)と、最初のフィールドとしてNF
含まれていない行を出力します。#
NFがゼロになるため、空白行を正しく処理し、先頭の空白$1
は無視します。
awk 'NF && !/^[:space:]*#/' data.txt
'[:space:] *'は、スペースをまったくまたはそれ以上キャッチしないためです。