それってPerlの一行野郎で -- それP1(ry
メモ帳 - uniq の -d と -u存在意義がわからなかったオプションの使い道を見つけたときは妙に感動する。
a, b に共通な行を抜き出す
perl -nle '$l{$_}++;END{$l{$_}>1 and print for keys %l}' a b
ENDブロックはこう使うという例にもなっています。
a にだけ含まれる行を抜き出す -- 引数の順序に注意perl -nle 'if(@ARGV){$l{$_}++}else{print unless $l{$_}}' b a
Perlで<>
を使うときには、まだ読まれていないファイル名が@ARGV
に入っています。これが空ということは最後のファイルを読んでいるということなので、それで条件を分岐させているわけです。
Unix コマンドの神秘。
Unixでない場合もOK。
Dan the Perl Monger
このブログにコメントするにはログインが必要です。
さんログアウト
この記事には許可ユーザしかコメントができません。