如何使用 find exec 输入两个可变参数?

How can I input two variable parameters using find exec?

我正在尝试像这样使用 find exec

find . -name '*xlsx' -exec xlsx2csv-2.7 -i --skipemptycolumns

问题是xlsx2csv最后需要两个参数,输入文件名和输出文件名。

我有一堆文件 1.xlsx、2.xlsx 等,我想将其转换为 CSV 并命名为 1.csv、2.csv...

基本上我需要运行以下命令

xlsx2csv-2.7 -i --skipemptycolumns 1.xlsx 1.csv

xlsx2csv-2.7 -i --skipemptycolumns 2.xlsx 2.csv

这可以使用 find exec 完成吗?如果没有,还有其他更好的解决方案吗?

你可以这样做:

find -name '*.xslx' -exec sh -c 'xlsx2csv-2.7 -i --skipemptycolumns {} `echo {} | sed 's/\.xlsx/\.csv/'`' \;