我有一個目錄,/original
,有數百個文件。我有一個腳本會一次處理一個文件,並刪除該文件,以便在腳本被中斷時不會再執行。所以,我需要一些到/original
到/processing
上的文件的軟鏈接。下面是我的嘗試:如何爲目錄中的每個文件創建軟鏈接?
find /original -name "*.processme" -exec echo ln -s {} $(basename {}) \;
,並得到類似:
ln -s /original/1.processme /original/1.processme ln -s /original/2.processme /original/2.processme ln -s /original/3.processme /original/3.processme ...
我想是這樣的:
ln -s /original/1.processme 1.processme ln -s /original/2.processme 2.processme ln -s /original/3.processme 3.processme ...
看來,$(basename)
運行{}
轉換之前。有沒有辦法解決這個問題?如果不是,我還能如何實現我的目標?
`basename`只運行一次;看到一個解釋http://stackoverflow.com/questions/4793892/recursively-rename-files-using-find-and-sed/4794313#4794313 – 2011-02-01 15:43:38