Linux如何将所有文件名改成小写

我们可以使用renamemmv命令。

在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