回答
在終端使用find
:
find . -type f -name "*_*_*.jpg" -execdir bash -c 'mv "$0" "${0##*_}"' {} \;
會導致:
ABC_XYZ_123.jpg -> 123.jpg
謝謝!這工作! – ABZ
所以我想了解什麼mv「$ 0」「$ {0 ## * _}」。你能解釋一下給我嗎?我希望能夠重新使用它來重命名其他名稱格式。謝謝! – ABZ
它被稱爲[shell參數擴展](https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html),基本上發生的事情是變量'$ 0'成爲名稱與'* _ * _ *'模式相匹配的文件。當用在大括號'$ {}'中時,它就像一個字符串操作的即時方法。 '## *'表示匹配最長的模式,直到它遇到'_',它被刪除。我意識到這聽起來相當複雜,但是一旦你使用了它幾次,它就更有意義了;鏈接的頁面有一些非常有用的例子,所以試試吧! –
因爲我永遠記得,專門對這種東西的凳子的命令行(像rename
)我創建了一個bash
腳本,它的任務是:
$ ls > x.sh
$ vi x. sh
在VI
:
:%s/^[a-z_]*\(.*\)$/mv \0 \1/`
然後:
$ source x.sh
rename
可以做的喜歡,但正如我所說,我從來沒有打擾過去學習它。
$ brew install rename
我沒有試過這個,但謝謝! – ABZ
- 1. 如何從文件名中刪除所有非數字字符遞歸
- 2. 刪除字符串jquery中的所有非數字字符?
- 3. logstash - 刪除字段中的所有非數字字符
- 4. 從字符串中刪除所有非字母,非數字字符?
- 5. 刪除除空格以外的所有非數字字符
- 6. 刪除文件中的非ASCII字符
- 7. 在Python中刪除字符串中的所有非數字字符
- 8. 在JavaScript中刪除字符串中的所有非數字字符
- 9. 刪除文件名中的非數字字符,但擴展名爲java
- 10. Notepad ++刪除非英文數字字符
- 11. 從lua字符串中刪除所有非字母數字字符
- 12. 刪除名稱前的字符串中的所有字符
- 13. 刪除字符串中的所有數字字符DAX
- 14. 如何從PHP中的字符串中刪除所有非字母數字和非空格字符?
- 15. 正則表達式從數字刪除字符,但並非所有的字符
- 16. 刪除所有非單詞字符,除非&或'模式
- 17. 從文件名中刪除字符串
- 18. 從字符串中刪除所有非字字符(標點符號)
- 19. 快速刪除字符串中的所有非字母字符,python
- 20. 如何刪除DB2中的所有非數字字母
- 21. preg_replace刪除非打印字符似乎刪除所有外來字符以及
- 22. 刪除所有字符
- 23. 從字符串中刪除非字母數字字符
- 24. 刪除數據文件中的非ASCII字符
- 25. 刪除行中的所有字符
- 26. 刪除字符串中的所有非ASCII
- 27. 刪除字符串中的所有字符但字母
- 28. 從文本文件中刪除所有ASCII字符
- 29. 刪除訪問字段中的非字母數字字符
- 30. 刪除字符串中的數字後的所有內容
他們全部在一個單獨的目錄,或者是有一個層次?會不會有'ABC_123.jpg'和'DEF_123.jpg'? –