[[Perl]]
#contents

* ワンライナー
* 関連するコマンドラインオプション

**sedエミュレーション
:-e commandline|
実行するプログラムを記述
:-p|
sedエミュレーション~
1行読み込み、自動で出力~
	while (<>) {
		...             # your program goes here
	} continue {
		print or die "-p destination: $!\n";
	}
:-n|
~-pの自動出力なし版
:-a|
~-p -nによるループで自動 split~
@Fに代入される
:-Fpattern|
~-aのsplitのパターン指定

* sedエミュレーション
 perl -pe 's/hoge/HOGE/g'

**ファイル置換/バックアップ
* ファイル置換/バックアップ
 perl -i.bak -p -e 's/<body>/<body bgcolor="#C0C0C0">/ig;' *.html
該当するファイルの置換とバックアップ。
use File::Findより楽っぽい。

**fullpath
* fullpath
 perl -MCwd -MFile::Basename -pe 'chomp; $_ = Cwd::abs_path(dirname($_))."/".basename($_)."\n"'

**変なの
* 変なの

某所にてcrontabで回そうとしてたけど消した。
某所にてcrontabで回そうとしてたけど消した。~
長いので適当に改行しているけど1行で。

 0 0 15 * * du -m --max-depth=1 /home | head -n -1 | perl -ane '($size,$path)=@F; $user=$path; $user=~s|/home/||; echo $path ${size}MB | mail $user -c root -s "du /home" if $size > 500;'
 0 0 15 * * du -m --max-depth=1 /home | head -n -1
 | perl -ane '($size,$path)=@F; $user=$path; $user=~s|/home/||;
   echo $path ${size}MB | mail $user -c root -s "du /home" if $size > 500;'


トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS