ls -l file_* |
awk '{system("echo mv -v -- " $9 " file_" toupper($6) $8);}'
对于真实文件重命名,应删除回声字.
说明
> ls -l file_ * | awk – 列出所有文件并将它们发送到awk.
> system() – 执行shell命令.
> mv -v – “$9”file_“toupper($6)$8 –
> mv – 在shell中执行的通常的mv命令.
> toupper(str) – 返回字符串str的副本,str中的所有小写字符都转换为相应的大写字母.
> 6美元 – 月:8月,7月,2月
> 8美元 – 年:1938年,1947年,2037年.
> $9 – 文件名:file_1,file_10,file_100.
档
$ls -l file_*
-rw-rw-r-- 1 user user 0 Aug 1 1938 file_1
-rw-rw-r-- 1 user user 0 Jul 1 1947 file_10
-rw-rw-r-- 1 user user 0 Feb 1 2037 file_100
产量
mv -v -- file_1 file_AUG1938
mv -v -- file_10 file_JUL1947
mv -v -- file_100 file_FEB2037