我们可以使用rename
和 mmv
命令。
在Ubuntu,Debian和Linux Mint上安装rename和mmv:
rename: $sudo apt install rename mmv: $sudo apt install mmv
在CentOS,Fedora,Almalinux和Red Hat上安装rename和mmv:
rename: $sudo dnf install prename mmv: $sudo dnf install mmv
在Arch Linux和Manjaro上安装rename和mmv:
rename: $sudo pacman -S perl-rename mmv: $git clone https://aur.archlinux.org/mmv.git $cd mmv/ $makepkg -si
示例
- 使用“mv”命令和其他本机工具将大写文件重命名为小写字符。
$for i in $( ls | grep [A-Z] ); do mv -i $i `echo $i | tr 'A-Z' 'a-z'`; done
- 使用“rename”命令将所有文件名更改为小写字母。
$rename -f 'y/A-Z/a-z/' *
- 使用“mmv”命令将所有大写字母重命名为小写。
$mmv '*' '#l1'
- 递归将所有文件和文件夹名称更改为小写。
$find . -depth | xargs -n 1 rename 's/(.*)\/([^\/]*)/\/\L/' {} \;
- 仅递归将文件名从大写更改为小写。
$find . -depth -type f | xargs -n 1 rename 's/(.*)\/([^\/]*)/\/\L/' {} \;
- 您还可以更改
-type
选项,以便使下面的命令可以递归地将目录名仅从大写更改为小写。
$find . -depth -type d | xargs -n 1 rename 's/(.*)\/([^\/]*)/\/\L/' {} \;
- 反过来,将所有小写文件名更改为大写。
$for i in $( ls | grep [a-z] ); do mv -i $i `echo $i | tr 'a-z' 'A-Z'`; done
- “rename”实用程序也可用于将所有小写文件名更改为大写。
$rename -f 'y/a-z/A-Z/' *
- 使用
mmv
将所有文件从小写重命名为大写字母。
$mmv '*' '#u1'
- 以下是如何将所有文件和目录重命名为小写的所有文件和目录。
$find . -depth | xargs -n 1 rename 's/(.*)\/([^\/]*)/\/\U/' {} \;
- 以下是如何递归地将文件重命名为小写为大写。
$find . -depth -type f | xargs -n 1 rename 's/(.*)\/([^\/]*)/\/\U/' {} \;
- 递归只将目录从小写重命名为大写。
$find . -depth -type d | xargs -n 1 rename 's/(.*)\/([^\/]*)/\/\U/' {} \;
日期:2020-07-07 20:56:53 来源:oir作者:oir