我有以下格式的50多个文件:
abcd_vish_running_ZEBRA_20140818.dat_08-14-2014_23:08:23<br>
abcd_vish_running_ZEB-RA_20140818.dat_08-14-2014_23:08:35<br>
abcd_vish_running_ZEB_RA_20140818.dat_08-14-2014_23:08:37<br>
abcd_vish_running_RI-NG_20140818.dat_08-14-2014_23:08:42<br>
abcd_vish_running_RING_20140818.dat_08-14-2014_23:08:45<br>
abcd_vish_running_RI_NG_20140818.dat_08-14-2014_23:08:52<br>
(ZEBRA,ZEB-RA,ZEB_RA,RI-NG,RING,RI_NG仅用于显示模式)
我需要将上述文件重命名为以下格式:
abcd_vish_running_ZEBRA_20140818.dat<br>
abcd_vish_running_ZEB-RA_20140818.dat<br>
abcd_vish_running_ZEB_RA_20140818.dat<br>
abcd_vish_running_RI-NG_20140818.dat<br>
abcd_vish_running_RING_20140818.dat<br>
abcd_vish_running_RI_NG_20140818.dat <br>
现在如何使用shell脚本实现这一目标? 我对脚本编写起来相当新。请帮助。
干杯。
答案 0 :(得分:0)
使用rename:
rename 's/[.]dat_.*/.dat/' *.dat_*
在Bash中使用for
循环:
for F in *.dat_*; do
echo mv -- "$F" "${F/%.dat_*/.dat}"
done
确认后删除echo
。
使用mmv
:
mmv "*.dat_*" "#1.dat"