2016-07-01 5 views
0

私は、複数の列があり、それらが一致するかしないかを選択したい式を含んでいるとします。そのawk式を書くにはどうすればいいですか?ここでawkコマンドの内部にregex条件を追加するにはどうすればいいですか

は、私は特定のフィールドが一致し得るかだけでなく、場合、列を印刷する例です。

awk -v OFS=$'\t' -F $'t\' '($12 ~ /9\..[^b-z]/) || ($4 !~ /QA_[tT][eE][sS][tT]/) || ($4 !~ /ACC_Operator1/) || ($5 !~ /4CPP/) { print $8, $5, $4, $10, $6, $12}' filename 

が、これは私が、bashの問題であると仮定し

-bash: !~: event not found 

を与えて実行します使って!

答えて

4

あなたはシンタックスハイライトによって明らかにされたタイプミス、持っている:これは、あなたのawkコマンドの開口引用が実際に以前の単一引用符を閉じていることを意味

awk -v OFS=$'\t' -F $'t\' ... 
        ^escaped single quote 

を。

awkは\tを理解しているので、$'\t'ではなく-v OFS='\t'を使用できます。

+0

うんざりしています。ありがとうございます – yaman

関連する問題