[時間割:Perl]『ミニマルPerl』その9
2008/11/12 01:48 posted by kunkichi
ここんところちょっと仕事が忙しくて帰ってきたら勉強する気ゼロなことが多いんですが、そんな中最近の一番の勉強スポットはお風呂だったりしてます。いやー、高い本は気を使いますw
ということで、昨日月曜日の『Perl』の時間の成果をアップします。引き続きsed編。sed編はこれが最後です。
ミニマルPerl Unix/LinuxユーザのためのPerl習得法
posted with amazlet at 08.10.06
Tim Maher
オライリージャパン
売り上げランキング: 96883
オライリージャパン
売り上げランキング: 96883
- 大文字小文字変換用の文字列修飾子
$ echo "abc" | perl -wpl -e 's/^.*$/\U/g;' ← 大文字変換あと、\u と \l は隣の1文字だけを変換。
ABC
$ echo "ABC" | perl -wpl -e 's/^.*$/\L/g;' ← 小文字変換
abc - \E で \Uや\Lを終了する。
$ perl -e 'print "this is \Ucapital\E letters.\n";'
this is CAPITAL letters. - 文字列修飾子は一部のコンテキストでのみ使える。ダブルクォートされた文字列、マッチングや置き換えの場合とか。
- 置換演算子 e で 置き換えた後の文字列をコードで生成することができる(e は eval の e)これを使えば置換で計算とかができる。
$ echo "20 miles 14" | perl -wp -e 's/^(\d+) miles$/$1 * 1.6 . " km"/e;'
32 km - 関数を使って置き換えたり。Text::Tabsのexpand関数を使って、タブを4つのスペースに置き換えてみる。
$ echo "this is a tab-separeted sentence." | perl -wp -MText::Tabs -e '$tabstop = 2; s/^.*$/expand $&/eg'
this is a tab-separeted sentence.
次はawkです。これで文字列処理系のコマンドは全部置き換えられちゃうなー。






コメント&トラックバック
トラックバックURL: