unzip -v 出力をシェルスクリプトのログファイルにリダイレクトする方法

unzip -v 出力をシェルスクリプトのログファイルにリダイレクトする方法

大きなディレクトリにあるすべてのzipファイルを繰り返して個別に解凍するスクリプトがあります。 -q オプションを使用してコンソールをきれいに保ち、他の監視情報を表示します。

同じ動作を維持しますが、ジョブ全体の単一のログファイルに-vオプションの出力を追加したいと思います。これを達成するための最良の方法は何ですか?しかし、私はまだスクリプトが初めてなので、どんな意見でも感謝しています。

スクリプト部分を解凍します。

for FILES in $(ls -1Sr|grep a_media*)
 do unzip -q $FILES -d $DESTINATION
done

ベストアンサー1

ループ全体をstdoutリダイレクトできます。stderr

for FILES in $(ls -1Sr|grep a_media*)
 do unzip -q "$FILES" -d "$DESTINATION"
done > log 2>&1

少なくともzsh最新バージョンbashでは。> log 2>&1>& log

あなたのls処理が疑わしいです。以下を参照してください。なぜ`ls`を解析しないのですか?...

おすすめ記事