我有 800 个文件,命名为:
Centrum.text.201601-01
Centrum.text.201601-02
直到 30 一个月 01 等等所有 12 个月。
我想要的是将所有文件一次重命名为:
Centrum.201601-01.text
Centrum.201602-12.text
相应月份依此类推。
如果可能的话,单行。操作系统——rhel5
答案1
尝试
rename -n 's/Centrum.text.(.*)/Centrum.$1.text/' Cen*
预览
s/Centrum.text.(.*)/Centrum.$1.text/
指示更换(移动内部图案)
然后
rename 's/Centrum.text.(.*)/Centrum.$1.text/' Cen*
编辑:
如果您没有重命名,并且从包含文件的目录中
ls -1 | awk -F. '/Centrum/ {printf "mv %s.%s.%s %s.%s.%s\n",$1,$2,$3,$1,$3,$2}'
用于预览
-1
(每行一个文件) inls
可能没用,但以防万一您有 ls 的别名。/Centrum/
按文件名过滤{printf "mv %s.%s.%s %s.%s.%s\n",$1,$2,$3,$1,$3,$2}
交换日期和文本字段。
| bash
如果一切顺利,请在最后添加。