如何讓這個 java 指令對 find 指令找到的每個檔案運作?

如何讓這個 java 指令對 find 指令找到的每個檔案運作?

我在 Bash shell 腳本中有這個指令,其目的是應用 java 指令,html壓縮器,到目錄中找到的每個 HTML 檔案:

find $DIR -type f -name '*.html' -exec java -jar $BASEDIR/Upload/htmlcompressor-1.5.3.jar --remove-intertag-spaces {} \;

然而,雖然命令列的輸出似乎表明它正在查找每個文件並對其執行某些操作,但它實際上並未將結果寫入文件。

根據htmlcompressor的文檔,用法是這樣的:

用法:java -jar htmlcompressor.jar [選項] [輸入]

所以最後應該有一個名為 name 的輸入文件,但我認為該find命令已經解決了這個問題。不過,看來我錯了。

我該怎麼做才能讓它真正作用於我找到的文件?

答案1

您提供的內容似乎是正確的;您可以透過插入命令來驗證是否java正確呼叫:echo

find $DIR -type f -name '*.html' -exec echo java -jar $BASEDIR/Upload/htmlcompressor-1.5.3.jar --remove-intertag-spaces {} \;

(假設一個正確的 POSIX 相容系統,該系統在標準上具有非內建版本的 shell 內建函數PATH)。

除此之外,您可能需要手動執行其中一個結果命令來驗證它是否正常運作。

相關內容