【シェルスクリプト】特定の文字列を含むファイルをあるディレクトリの中から探して別のディレクトリに移動する
問題
メールを受信しているディレクトリの中に大量にファイルがあるんだけど、いるのは残して、いらないのをよそに移動したい。
回答例
シェルスクリプトは得意ではないけどチャレンジです。
こういうのでいけそうでしょうか。
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