查找/重命名命令未捕獲我希望它查找的文件名

查找/重命名命令未捕獲我希望它查找的文件名

我的主目錄中有這兩個檔案 -

hello_newest.txt
goodbye_newest.txt

我想重命名它們,以便完全刪除檔案名稱的“最新”部分,以便它們重新出現hello.txtgoodbye.txt

這是我正在運行的命令 -

find -name "*.txt" -exec rename 's/newest//i' {} ";"

運行此命令後,它不會引發錯誤或對檔案執行任何操作。我已經結帳了http://www.computerhope.com/unix/rename.htm看起來它應該基於其中的一些示例來工作。

我確信這很簡單,但我錯過了什麼?

答案1

看起來這可能是我們使用的 Redhat 版本。命令 -

rename _newest '' *

似乎實現了相同的目標。

謝謝您的幫忙。

答案2

不同的語法。但為我工作:

for i in *.txt; do mv "$i" "`echo $i | sed 's/_[^.]*//'`"; done

使用for循環找到所有txt文件,然後使用sed刪除下劃線後面的字元。

相關內容