SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 社員募集 ...

【シェルスクリプト】特定の文字列を含むファイルをあるディレクトリの中から探して別のディレクトリに移動する

問題

メールを受信しているディレクトリの中に大量にファイルがあるんだけど、いるのは残して、いらないのをよそに移動したい。

回答例

シェルスクリプトは得意ではないけどチャレンジです。

こういうのでいけそうでしょうか。

files="/どこかの/Maildir/cur/*"
for filepath in ${files}
do
    hantei=`grep ': failure notice' ${filepath}`
    if [ "${hantei}" ]
    then
        echo 'o'
        mv ${filepath} /どこかの/Maildir/.trush
    else
        echo 'x'
    fi
done

こんな感じで実行してやれば、o(移動した)、x(移動しなかった)を出力しながらディレクトリの中のファイルを見て処理をしていきます。

$ bash xxxx.sh

関連するメモ

コメント