![mmv可以透過增加索引來重新命名檔案嗎?](https://rvso.com/image/83698/mmv%E5%8F%AF%E4%BB%A5%E9%80%8F%E9%81%8E%E5%A2%9E%E5%8A%A0%E7%B4%A2%E5%BC%95%E4%BE%86%E9%87%8D%E6%96%B0%E5%91%BD%E5%90%8D%E6%AA%94%E6%A1%88%E5%97%8E%EF%BC%9F.png)
mmv(一個大規模行動實用程式)可以很好地重新命名以下檔案:
- foo.txt
- 欄.txt
- 巴茲.txt
到:
- 1.txt
- 2.txt
- 3.txt
手冊頁很有趣,但我不太遵循說明:
Rename all *.jpeg files in the current directory to *.jpg:
mmv '*.jpeg' '#1.jpg'
變數可以#1
設定為遞增的整數嗎?雖然我不懷疑這是可能的,但僅使用 bash 或其他腳本是否同樣容易(或困難)?
1.txt
為了簡單起見,忽略可能的覆蓋問題。或者,複製到子目錄。
也可以看看:
https://stackoverflow.com/questions/3211595/
答案1
我的系統上沒有該程式 - 事實上,我不記得以前聽說過它 - 但我讀過該手冊頁的副本,而且該程式似乎不包含您想要的功能。但是,如果您特別想對 執行此操作mmv
,您可能想嘗試以下操作:
mmv -an "*.txt" bogus.target > /tmp/mmv.list
告訴不要做任何動作,-n
而mmv
只是報告如果您沒有指定它會做什麼-n
。告訴-a
它將所有文本文件附加到一個文件中bogus.target
- 事實上,手冊頁給出了一個非常相似的示例(但沒有選項-n
) - 我在這裡使用它只是為了說服mmv
允許多個源文件碰撞到一個目標中。這應該會產生一個/tmp/mmv.list
看起來像這樣的文件
bar.txt -> bogus.target
baz.txt -> bogus.target
foo.txt -> bogus.target
(我假設它將按字典順序(字母順序)或目錄順序(可能看起來是任意順序)列出文件。如果您想要其他順序,則需要找到某種方法來指定它。)然後處理該文件(例如,使用腳本,待定)以替換出現的、bogus.target
、等。1.txt
2.txt
3.txt
mmv < /tmp/mmv.list
注意事項:我還沒有嘗試過這個(因為正如我所說,我什至沒有該軟體)。您可能應該先對一些不重要的檔案進行試運行,和/或在執行此操作之前備份所有檔案。
另請注意,這可能至少與您連結的問題的一些答案一樣多。正如我所說,我提供此建議只是為了防止您特別想使用mmv
.
PS 我的回答(上圖)部分受到啟發這個。