Unix:如何将文件夹中的所有文件作为参数传递给java程序
我在Unix:如何将文件夹中的所有文件作为参数传递给java程序,java,unix,Java,Unix,我在home/myJarFolder/文件夹中有myJar.jarrunnable jar。 在myJarFolder中,有一个名为target的文件夹,其中包含以下文件: 报告-b-20151114.txt report-a-20151115.txt 报告-b-20151115.txt 报告-a-20151114.txt 我想从其文件夹(home/myJarFolder/)运行myJar,并将/target文件夹中以当前日期结尾的所有文件作为参数传递给该程序 直到现在,我一直在尝试: java
home/myJarFolder/
文件夹中有myJar.jar
runnable jar。
在myJarFolder
中,有一个名为target的文件夹,其中包含以下文件:
报告-b-20151114.txt
report-a-20151115.txt报告-b-20151115.txt 报告-a-20151114.txt 我想从其文件夹(home/myJarFolder/)运行
myJar
,并将/target文件夹中以当前日期结尾的所有文件作为参数传递给该程序
直到现在,我一直在尝试:
java -jar myJar.jar /target/report_*${date +'%m%d'}.txt
java -jar myJar.jar ${ls /target/report_*${date +'%m%d'}.txt}
有什么想法吗?文件全球化模式看起来有问题。你需要使用大括号而不是花括号
java -jar myJar.jar /target/report_*$(date +'%m%d').txt
要验证结果(对于已传递的文件名),只需执行
ls /target/report_*$(date +'%m%d').txt
然后检查您想要的文件是否已列出。您不能搜索程序中的文件,而不是将其作为jvm参数传递吗?或者,指定目录作为参数,然后循环该目录中的所有文件?文件列表中没有仅针对昨天和前天的“今日文件”(GMT)。