這應該是相對平凡的,但我一直在嘗試一段時間沒有太多的運氣。 我有一個目錄,有許多目錄,每個目錄都有自己的結構和文件。查找文件,在地方重命名unix bash
我正在尋找工作目錄下的任何目錄下的所有.java文件,並將它們重命名爲特定名稱。 例如,我想命名所有的java文件「test.java」。
如果目錄結構是:
./files/abc/src/abc.java
./files/eee/src/foo.java
./files/roo/src/jam.java
我想簡單地重命名爲:
./files/abc/src/test.java
./files/eee/src/test.java
./files/roo/src/test.java
當然,我的問題的一部分是,路徑可能有空格 我不要。無需擔心重命名類或文件內的任何內容,只需要指定文件名即可。
如果目錄中有超過1個.java文件,我不介意它是否被覆蓋或提示選擇要做什麼(可以,不可能有超過1個在
我已經試過每個目錄:
展望MV,並找到,但是當我管他們在一起我似乎是做錯了,我想一定要保持他們在他們的當前位置和重命名,而不是移動。
謝謝,我真的很感謝任何幫助,
我應該如何讀取''$ {1%/ *}「/ test.java'位? – dumbledad 2017-11-07 15:21:55
變量'$ 1','%'刪除最短的匹配後綴'/ *' - 它將從'$ 1'中刪除文件名,就像'dirname「$ 1」'會做的那樣。 '/ test.java'附加到該目錄名稱。 – 2017-11-07 15:24:46