Rename

如何從多個文件名中去除數字前綴?

  • November 25, 2018

我有 >2000 個文件,這些文件的名稱如下

123-FILENAME_TEXT_M101K_20150929.CSV

其中123可以是任何三位或四位數字。這些文件都在同一個目錄中。我想要一個刪除前綴數字和破折號的腳本。(即123-應該從範例名稱中刪除前導)

我試過了mv **-FILENAME* FILENAME*rename不是可用的功能

你可以嘗試這樣的事情,它會在第一次之前刪除所有內容-

for file in *-*.CSV
do
  newName="${file#*-}"
  mv -- "${file}" "${newName}"
done

我嘗試過使用 sed、awk 和 find 的組合。測試和工作正常

find . -type f -iname "*.CSV"| sed "s/^\.\///g"| sed -n '/^[0-9]\{4\}/p' | awk   -F "-" '{print "mv" " " $0 " " $2}'| sh

引用自:https://unix.stackexchange.com/questions/420972