awk で パターン 否定の時の落し穴 ― 2019年01月30日 14時13分04秒
% awk '/match/'
not found
match
match
^D
%
逆に非適合にする場合には、ビックリマークの ! を付けることで出来るはずだが、
変な事になっている。
% awk '!/match/'
/match/: Event not found.
シェルに依存するのだが、! は以前のコマンドを探すようになっている物も多い。上記のは tcsh での実行例。 「/match/」で始まる、コマンドを探して実行しているのだ。
シェル上で実行するには 「!」 と 「/」にすき間を入れる。
またはファイルから渡しても良い。
% awk '! /match/'
match
good
good
^D
%
% cat match.awk
!/match/
% awk -f match.awk
match
good
good
^D
%
最近のコメント