Linux 下文件名大小写批量转换

之前买本书,网盘资料赠送了出版社书目,是以静态网页形式呈现的。Winxp 里下载后,把文件转到了 Manjaro 系统里,却无法正常浏览。原因是 Linux 对大小写敏感,而这个网页编写的很粗糙,链接都是小写的,文件名都是大写的。

网上查到的批量转换方法如下。

Using bash, this is easy:

for f in *; do mv "$f" "${f^^}"; done

The expansion ${f^^} converts the name of the file to uppercase.

In another shell, using tr:

for f in *; do mv "$f" "$(echo "$f" | tr '[:lower:]' '[:upper:]')"; done

这个示例是小写转大写,反之同理。

参考:

https://stackoverflow.com/questions/30303480/linux-how-to-rename-all-files-in-a-directory-to-uppercase