微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Linux – 将目标中的所有文件夹重命名为upper

我在linux机器上的[A,B,C..Z]里面有一个文件夹(比如它的名字是../TEMPO).
每个文件夹有3个级别的文件夹.一些较深的文件夹使用小写名称,例如:

A/F/m/O
Z/t/q/S

在第4级,我想保留与现在相同名称文件.

如何在不更改特定文件夹(../TEMPO)中存在的文件名的情况下,将文件名称重命名为大写?

解决方法:

验证此命令的输出

find path/to/dir -type d | awk -F"/" '$NF != toupper($NF) {l = n = $0; sub($NF "$", toupper($NF), n); print "mv " l " " n;}' | tac

如果它看起来很好,通过将结果传递给sh来执行结果

find path/to/dir -type d | awk -F"/" '$NF != toupper($NF) {l = n = $0; sub($NF "$", toupper($NF), n); print "mv " l " " n;}' | tac | sh

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐