我的主目錄中有這兩個檔案 -
hello_newest.txt
goodbye_newest.txt
我想重命名它們,以便完全刪除檔案名稱的“最新”部分,以便它們重新出現hello.txt
並goodbye.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刪除下劃線後面的字元。