年中アイス

いろいろつらつら

perl one liner

最近Perlをちょこちょこ勉強中。スクリプト言語を覚えるつもりもあって、仕事で使いながら覚えてる。

perlコマンドのeオプションを使うと、そのままperlのコードが書けるのでそれで記述。one-linerって言うらしくて、1行で書けるコマンドみたいな処理。

ちょっとしたことに使えるのがいい所。Javaで書くと時間掛かることや、特にモジュールにする必要もない作業だとこっち使うほうが効率的。このちょっとしたことが仕事の手間を減らしてくれる。

perl -e 'print "hello world!!\n"'

と書くと、

hello world!!

って出る。


nオプションをつけると、標準入力または、引数でファイル名を渡せばそれをループさせてくれる。

perl -ne 'if($_=~m/正規表現/){print;}' 対象ファイル名

または、

perl -ne 'print if($_=~m/正規表現/)' 対象ファイル名
  • リダイレクトするとファイルにも出せる。
perl -ne 'if($_=~m/正規表現/){print;}' 対象ファイル名 > 出力ファイル名