2014-02-26 30 views
0

我已經寫了這個遞歸地找到已編譯java類名的命令。它遞歸地發現所有的* .class文件,然後我用「/」替換與嘗試從製造類名「」,剝前綴等如何在命令行中使用`find`來刪除文件名的擴展名(和前綴)?

class_files=$(find ./build-tests -d -name \*.class -print | tr "\/" "." | cut -c15-10000)

我的bash腳本知識是很初級。但是在搜索一下之後,我遇到了使用$ {i %%。class}去除.class後綴的想法,但我不知道如何將它添加到管道版本的命令行中?這可能嗎?或者我需要使用循環,並建立一個數組,然後加入數組,所有這一切?

回答

1

我不知道什麼-d選項find表明你的調用,但也許這就是你想要什麼:

find ./build-tests -name "*.class" -print0 | xargs -0 -n1 -Ifoo basename foo .class 
相關問題