「perlノート」の編集履歴(バックアップ)一覧に戻る
perlノート - (2005/11/12 (土) 23:01:03) の編集履歴(バックアップ)
ワンライナー
perl -ne " ワンライナーの内容 "
perl -pe " "
リスト7:ランダムな値を使っての書き換え
# replace string XYZ with a random number less than 611 in these filesperl -i.bak -pe "s/XYZ/int rand(611)/e" f1 f2 f3
|
これは、XYZ
を611(この値は、任意に選択できる)未満の値に置き換えるフィルターです。rand()
は、0から引数までの間のランダムな値を返してくる関数でした。
置換のつどint
rand(611)が評価されますので、XYZ
は、毎回、異なるランダム値に置き換えられることになります。
リスト8:ファイルの基本的な性質の開示
# 1. Run basename on contents of fileperl -pe "s@.*/@@gio" INDEX
# 2. Run dirname on contents of fileperl -pe 's@^(.*/)[^/]+@$1n@' INDEX
# 3. Run basename on contents of fileperl -MFile::Basename -ne 'print basename $_' INDEX
# 4. Run dirname on contents of fileperl -MFile::Basename -ne 'print dirname $_' INDEX
|
IBM 洗練されたPerl: ワンライナー102 より。