Bash在文件夹中的所有文本文件上运行jar文件

时间:2013-01-22 19:25:14

标签: bash jar

我有一个jar文件,用于按字母顺序排列.txt文件中的一系列名称。我在文件夹中有很多这些文件。正常使用.jar是:

java -jar names.jar -o output/alphabetized/ names/names-05-04-20.txt

如何在文件夹中的所有txt文件上运行jar文件?

编辑:names.jar按字母顺序排列传递给它的文件的内容,我想按字母顺序排列文件夹中文件的所有内容。

2 个答案:

答案 0 :(得分:1)

通过做:

find . -name *.txt -exec jar -o output/alphabetized {} \;

{}是找到的文件的名称。

答案 1 :(得分:1)

使用shell for loop

for F in names/*.txt; do java -jar names.jar -o output/alphabetized/ "${F}"; done

通过在echo之前添加java来显示命令而不是运行它,您可以看到这将会发生什么:

$ for F in names/*.txt; do echo java -jar names.jar -o output/alphabetized/ "${F}"; done
java -jar names.jar -o output/alphabetized/ names/actors.txt
java -jar names.jar -o output/alphabetized/ names/apple-products.txt
java -jar names.jar -o output/alphabetized/ names/fruit.txt
java -jar names.jar -o output/alphabetized/ names/planets.txt
java -jar names.jar -o output/alphabetized/ names/presidents.txt