Shell-Script

在 Ubuntu 中批量重命名文件:順序編號,基於目錄中的順序。(Ubuntu 16.04)

  • April 6, 2019

在此處輸入圖像描述我不得不在更多試驗中從 DVR 下載影片。之後,文件按字母順序手動排列成幾組,每組按數字排列。有必要按以前的順序保存影片,並保留有關每個文件內容的資訊。

現在的情況:

a_1.(關於內容的資訊).avi a_2.(關於內容的資訊)avi … a_101.(關於內容的資訊).avi b_1.(關於內容的資訊).avi b_2.(關於內容的資訊).avi … b_350.(關於內容的資訊).avi .. .. ..

它應該看起來像:

1.(關於內容的資訊).avi 2.(關於內容的資訊).avi 3.(關於內容的資訊).avi….500.(關於內容的資訊).avi

有什麼辦法可以自動完成嗎?

試試下面的命令

i=1; for file in $(ls -v *.avi); do echo "$file --> $i.${file#*.}"; i=$((i+1)); done | less

如果(info about content)不包含任何空格或換行符,這將向您顯示源文件到目標文件的映射,因此您可以忽略這是否是您想要的。如果您對此感到滿意,請執行該行

i=1; for file in $(ls -v *.avi); do mv "$file" "$i.${file#*.}"; i=$((i+1)); done

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