2014-01-22 55 views
0

下一個目錄下和子目錄的所有PDF文件有一個名爲MainDir目錄下有五個名爲OneDirTwoDirThreeDirFourDirFiveDir子目錄。我如何列出該目錄

除了其他類型的文件,所有六個目錄都包含一些pdf文件。

我想通過我在Java腳本中調用的java程序對這些pdf文件進行一些處理。

我的java程序的輸入是一個單一的pdf文件名。

java MyProgram $pdfFileName 

我該如何正確建立在我的腳本循環可列出六個目錄中的所有PDF文件,並通過一個內循環並將其傳遞給變量pdfFileName一個?

感謝閱讀!

回答

1

,如下圖所示使用find -exec

find MainDir -type f -name "*.pdf" -exec java MainClass {} \; 

如果必須使用xargs,你應該因爲你說你的Java應用程序只接受一次在一個文件中使用-n 1

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

如果我的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/outputdata DirPath = $ DATA_DIR/logDirPath = $ LOG_DIR /有幾個參數。在這種情況下,如何找到-exec看起來像? – Nik

+0

如果它很長沒關係。簡單地把整個事情放在'-exec'後面。例如'find ... -exec java -DLOG_DIR = $ LOG_DIR -Dlog4j.configuration = file://$CONFIG_DIR/myLog4j.log4j.properties -classpath $ CLASSPATH ... {} \;' – dogbane