原帖由 awk就是awp加ak 于 2007-4-17 10:19 发表
try复制代码
- $ find . -type f |awk -F'/' 'BEGIN { OFS=FS; } { oldName = $0; sub(/.*/, toupper($NF), $NF); printf("mv %s %s\n", oldNa
- me, $0); }'
如果不支持 toupper,自己写一个
原帖由 awk就是awp加ak 于 2007-4-17 10:32 发表
熟悉awk 那几个隐藏特性之后,也许能写的简单一些(虽然不知道是不是通用)^_^
啊,那个perl的有点儿像sed,(.*?)(/[^/\n]*)$ 我得看半天还不太明白 >_<
原帖由 Edengundam 于 2007-4-17 10:36 发表
我知道那几个隐藏特性..就是用的少, 没有用灵活...
其实那个就是s命令, 不过因为perl的正则很强..\U那里指定后面跟随的字符都会转换成为大写..这个特性很方便.
(.*?)尽可能多的匹配(其实可以不用?, ?跟在量词 ...
原帖由 awk就是awp加ak 于 2007-4-17 13:03 发表
唔,明白
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |