5

私はこのコードを書いています:

awk -F'=' '!/^$/{arr[$1]=$2}END{for (x in arr) {print x"="arr[x]}}' 1.txt 2.txt

このコードは空白行を無視しますが、#(コメント)で始まる行も無視したいと思います。

複数のパターンを追加する方法はありますか?

4

3 に答える 3

13

!/^$/に変更

!/^($|#)/

また

!/^($|[:space:]*#)/

の前の空白を無視したい場合#

于 2012-06-29T18:26:22.133 に答える
10
awk 'NF && $1!~/^#/' data.txt

空白以外のすべての行(フィールド数がゼロではない)と、最初のフィールドとしてNF含まれていない行を出力します。#

NFがゼロになるため、空白行を正しく処理し、先頭の空白$1は無視します。

于 2012-06-29T18:27:10.410 に答える
2
awk 'NF && !/^[:space:]*#/' data.txt

'[:space:] *'は、スペースをまったくまたはそれ以上キャッチしないためです。

于 2014-03-16T21:36:33.840 に答える