☆scrotで連続スクリーンショット

前回の投稿はscrotで約一秒毎のスクリーンショットを取りました。
ターミナルで適当なディレクトリを作って移動し、以下のコマンドラインを実行。
停止はCtrl+Cです。(忘れると大変なことになりますが....)

while true; do sleep 1;scrot -b -u 'usplash-%j-%T.png'; done

出来上がるファイル名は後で選別する際にわかりにくいので、まとめてリネームします。
いきなりはリネームは怖いので、まずは表示して確認、そのごシェルに渡して実行です。
以下のようなperlスクリプト"ren_scrot.pl "を作り、実行権限をつます。

#!/usr/bin/perl
my($prefix) = shift;
my($i) = 0;
while(<>){
    chomp;
    next if /^$/;
    $i++;
    $file = sprintf "${prefix}-%03d.png", $i ;
    print "mv $_ $file\n";
}

使い方は

ls *.png | ren_scrot.pl hoge
(hogeはプレフィクス) 出力を確認して問題なければ
ls *.png | ren_scrot.pl hoge | bash -s
でリネームを実施します。

一旦投稿してから

i=0; while true; do sleep 1;i=$(($i + 1)); scrot -b -u `printf 'hoge-%03d.png' $i`; done
でもOKだと思いました。つどprintfコマンドを起動するところが若干重いような気もしますが。
ren_scrot.pl は別の用途でも使えますし。(完全に自分に対する言い訳ですねこれは。)

0 件のコメント:

コメントを投稿