- 追加された行はこの色です。
- 削除された行はこの色です。
[[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;'