2013-07-31 15 views
0

我試圖找到並使用以下命令在很多子目錄遞歸重命名文件:錯誤查找和在Linux遞歸重命名

從本質上講,我試圖重新命名與「_p2」開頭的文件和替換'_p2',以便以'_p4'開頭。

find /XXX/YYY -name '_p2*' -exec rename _p2 _p4 '_p2*' 

不幸的是,我收到此錯誤

find: paths must precede expression 

我只用找到沒有重命名嘗試,它工作正常。任何人都可以讓我知道我做錯了什麼嗎?

回答

2

你在最後錯過了{}\;

find /XXX/YYY -name '_p2*' -exec rename _p2 _p4 {}\; 

{}通過文件名來rename\;終止rename命令。

+0

謝謝,我只是意識到呢!我的錯誤 – alchuang

1

你忘了終止-exec:

find /path/ -name '_p2*' -exec rename _p2 _p4 {} \; 
+0

謝謝我剛剛意識到這一點!我的錯誤 – alchuang

+0

你爲什麼回答這個問題?我已經給出了答案。對我來說,看起來你已經複製了它。 – hek2mgl

+0

然後請看看「重命名」之後是什麼...... – marderh