「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 より。

目安箱バナー