回答
在终端使用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. 删除CString中的所有非数字字符
- 7. 删除文件名中的非字母字符
- 8. 删除文件中的非ASCII字符
- 9. 删除字符串中的所有非ASCII字符
- 10. 在sql中删除所有非数字字符SELECT
- 11. 在JavaScript中删除字符串中的所有非数字字符
- 12. 如何从BASH中的字符串中删除所有非数字字符?
- 13. 在Python中删除字符串中的所有非数字字符
- 14. 删除文件名中的非数字字符,但扩展名为java
- 15. 使用preg_replace删除所有非字母数字字符
- 16. 删除所有非法字符
- 17. 删除除一个特定字符以外的所有非数字字符
- 18. 如何从字符串中删除所有非字母(所有语言)和非数字字符?
- 19. Notepad ++删除非英文数字字符
- 20. 从lua字符串中删除所有非字母数字字符
- 21. Android。 SQLite的。删除所有非数字
- 22. 删除名称前的字符串中的所有字符
- 23. SAS:删除所有文字字符
- 24. 从已解析的CSV文件中删除非数字字符
- 25. 删除PowerShell中的文件名字符
- 26. 删除字符串中的所有数字字符DAX
- 27. Javascript:如何从文件名中删除非法的URL字符?
- 28. 删除文件名中的非拉丁字符
- 29. 删除MS Word文档中的所有数字字符
- 30. 如何从Java中的字符串中删除所有非字母字符?
他们全部在一个单独的目录,或者是有一个层次?会不会有'ABC_123.jpg'和'DEF_123.jpg'? –