使用不同的文件名重复命令

使用不同的文件名重复命令

这是某人的上篮......

我必须重复运行命令:

$ wp input csv MyCSV01.csv directory_name
$ wp input csv MyCSV02.csv directory_name
$ wp input csv MyCSV03.csv directory_name

唯一的变化是文件名递增。我怎样才能连续运行所有这些?

也许找到所有以 开头的文件MyCSV*,然后按顺序运行它们?和/或指定要MyCSV03.csv运行的文件范围MyCSV05.csv

理想情况下,该解决方案对于命令行来说足够短,但它可以是一个脚本。

答案1

for i in {01..20}; do  #replace with your own range
   echo \
   wp input csv "MyCSV$i.csv" directory_name
done

如果 echo 行给出了您想要的结果,请注释掉它。

zsh,您用其标记问题,其形式更短:

for i (MyCSV{01..20}.csv) wp input csv $i directory_name

或者你可以使用它的zargs功能:

autoload zargs # best in ~/.zshrc
zargs -i MyCSV{01..20} -- wp input csv {} directory_name

答案2

for   csv in MyCSV[01][0-9].csv
do    wp  input "$csv" directory_name
done

答案3

在zsh中

: MyCSV<01-20>.csv(e*'wp input csv $REPLY directory_name'*)

相关内容