我想递归地去除具有多个破折号的文件名,以便file---name-3.jpg变为file-name-3.jpg。这在单个文件夹中工作正常,但我想移动到父文件夹并运行命令。它也可以正常工作,直到它遇到一个也有多个破折号的文件夹名称,然后它会尝试重命名它们。
find . -type f -iname '*---*' -depth -exec rename 's/---/-/gi' {} +
parent_folder
\sub--folder-1
file--name-1.jpg <-- rename file-name-1.jpg
file----name-2.jpg <-- rename file-name-2.jpg
\sub----folder-2
file--name-1.jpg <-- rename file-name-1.jpg
在 CentOS 服务器上使用 bash 进行编辑