0

FTP サーバーで、過去 1 日に配信されたファイルを探し、インプレース ヘッダーとトレーラー レコードを削除します。

find .  -type f -name "CDC*" -ctime -1 -exec sed -i'' -e '1d' -e '$d' '{}'  \;

これはうまくいきます。

これをスクリプトで自動化したい。しかし、ファイルが見つからないというメール通知を自分に送信するにはどうすればよいでしょうか? 私は次のようなことを考えています:

find .  -type f -name "CDC*" -ctime -1 -exec sed -i'' -e '1d' -e '$d' '{}'  \;
EXIT=`echo $?`
case $EXIT in
0) ...do stuff...
*) mail....exit
esac;;

もっと良い方法があるはずですよね?

4

1 に答える 1

1

検索を実行するために必要なコマンドを実行し、wc -lその最後に a をパイプすることができると確信しています。次に、if ステートメントを使用してゼロをチェックします。したがって、上記の例を使用してください。

NUMLINES=`find .  -type f -name "CDC*" -ctime -1 -exec sed -i'' -e '1d' -e '$d' '{}'  \ | wc -l`

if [ "$NUMLINES" -eq 0 ] ; then
foo
fi

またはそのようなもの。ただし、その構文が正しいかどうかは確認しませんでした。しかし、私はあなたが私のドリフトを得ると確信しています

于 2013-09-09T18:54:22.370 に答える