我允许 Calibre 访问我的库,它决定更改我的所有文件夹名称,在每个文件夹后添加 (123)。 (用随机数替换 123。)
在 Linux (Debian) 终端上使用什么命令来删除文件夹名称中的所有“(???)”字符串?
答案1
该rename
工具(rename
在 Debian 中的软件包中提供)允许您使用 Perl 正则表达式重命名文件。
假设您的文件夹仅包含目录,您可以使用rename
以下方式:
rename 's/ \(\d\d\d\)$//' *
如果您有文件和目录,并且只想重命名目录,您可以这样做:
find . -mindepth 1 -depth -type d -exec rename 's/ \(\d\d\d\)$//' "{}" \;
答案2
备查...
如果您想修复库中被 Calibre 搞乱的文件夹,您可以使用以下命令:
cd 到您的父文件夹
find . -type d -execdir bash -c 'dest=${1//[0-9_()]/}; [[ -d $dest ]] || mv -- "$1" "$dest"' _ {} \;
最好先测试一下,将“mv”替换为“echo”。