首页 > 解决方案 > 将 .xls 转换为 .csv 然后删除转换后的 .xls 文件的 shell 脚本?

问题描述

我有一个简单的 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 文件。请帮助实现这一目标。

标签: bashshellexport-to-csvxls

解决方案


您可以编辑此行:

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

仅当文件xls成功转换为csv


推荐阅读