Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 如何列出某个目录下的所有pdf文件以及该目录下的子目录下的所有pdf文件_Unix - Fatal编程技术网

Unix 如何列出某个目录下的所有pdf文件以及该目录下的子目录下的所有pdf文件

Unix 如何列出某个目录下的所有pdf文件以及该目录下的子目录下的所有pdf文件,unix,Unix,我有一个名为MainDir的目录,下面有五个子目录,分别是OneDir、TwoDir、ThreeDir、FourDir和FiveDir 除了其他类型的文件外,所有六个目录都包含一些pdf文件 我想通过我的java程序对这些pdf文件进行一些处理,我正在unix脚本中调用java程序 java程序的输入是一个pdf文件名 java MyProgram $pdfFileName 如何在脚本中正确创建一个循环,列出六个目录中的所有pdf文件,并在循环中逐个传递给变量pdfFileName 谢谢你的阅

我有一个名为
MainDir
的目录,下面有五个子目录,分别是
OneDir
TwoDir
ThreeDir
FourDir
FiveDir

除了其他类型的文件外,所有六个目录都包含一些pdf文件

我想通过我的java程序对这些pdf文件进行一些处理,我正在unix脚本中调用java程序

java程序的输入是一个pdf文件名

java MyProgram $pdfFileName
如何在脚本中正确创建一个循环,列出六个目录中的所有pdf文件,并在循环中逐个传递给变量
pdfFileName


谢谢你的阅读

使用
find-exec
如下所示:

find MainDir -type f -name "*.pdf" -exec java MainClass {} \;
如果必须使用
xargs
,则应使用
-n1
,因为您说您的java应用程序一次只接受一个文件:

find MainDir -type f -name "*.pdf" | xargs -n 1 java MainClass

如果我的java命令是这样的:java-DLOG_DIR=$LOG_DIR-Dlog4j.configuration=file://$CONFIG_DIR/myLog4j.log4j.properties-classpath$classpath org.springframework.batch.core.launch.support.CommandLineJobRunner job_CONFIG.xml myJob dataDirPath=$DATA_DIR/outputdataDirPath=$DATA_DIR/logDirPath=$LOG_DIR/,还有几个参数。在这种情况下,find-exec看起来是什么样子?它是否长并不重要。只需将整个内容放在
-exec
之后即可。e、 g.
查找-exec java-DLOG_DIR=$LOG_DIR-Dlog4j.configuration=file://$CONFIG_DIR/myLog4j.log4j.properties-classpath$classpath。。。{} \;