.tar.gz
CSVファイルをアーカイブに圧縮したいです。
私はこれを試しましたが、うまくいきません。この問題を解決するのに役立つ人はいますか?
#!/bin/bash
LOG_FILES="/tmp/"
for file in $LOG_FILES;
do
if [ -e "$file" ]
then
tar -cvzf $file.tar.gz $file;
fi
done
答え1
find
する
find /tmp/ -type f -name "*.csv" -execdir tar --remove-files -cvzf "{}.tar.gz" "{}" \;
これにより、ファイルが圧縮され、元のファイルと同じディレクトリに保存されます。
これもGNUを使用すると仮定しますtar
。
答え2
/tmp/*.csv
または"$LOG_FILES"/*.csv
代わりにループが必要です/tmp/
。[ -f "$file" ]
以下を使用して確認する必要があります。定期的なファイルのみ(バラより)- 常にファイル名変数を引用します。
"$file"