shell 将 .xls 转换为 .csv 然后删除转换后的 .xls 文件的脚本?

shell script to convert .xls to .csv and then delete the .xls files that are converted?

我有一个简单的 shell 脚本,它 运行 在 crontab 中,并使用 libreoffice 命令将 .xls 文件转换为 .csv 格式。 excel 文件每 5 分钟生成一次,因此我想在转换完成后删除 .xls 文件。下面是我正在使用的代码,

cat xlscsv.sh

for i in /reports/cctv_xls/*.xls; do libreoffice --headless --convert-to csv "$i" --outdir /cctv_reports/cctv_csv/; done
for i in /reports/cctv_csv/*.csv; do sed -i 1,5d "$i"; done

我要做的是,使用相同的脚本,删除已转换为 csv 的 .xls 文件。不想 运行 单独删除脚本。每 5 分钟生成 5 个 .xls 文件。请帮助实现这一目标。

您可以编辑此行:

for i in /reports/cctv_xls/*.xls; do libreoffice --headless --convert-to csv "$i" --outdir /cctv_reports/cctv_csv/; done

成为

for i in /reports/cctv_xls/*.xls; do libreoffice --headless --convert-to csv "$i" --outdir /cctv_reports/cctv_csv/ && rm $i; done

仅当成功转换为 csv

时,才会删除 xls 文件