我有一些文件名如下:
e2ed150l145l245St01-Oxs_MinDriver-Magnetization-00-0002105.omf
e2ed150l145l250St01-Oxs_MinDriver-Magnetization-00-0002167.omf
e2ed150l145l255St01-Oxs_MinDriver-Magnetization-00-0001519.omf
e2ed150l145l260St01-Oxs_MinDriver-Magnetization-00-0001841.omf
e2ed150l145l265St01-Oxs_MinDriver-Magnetization-00-0002730.omf
e2ed150l145l270St01-Oxs_MinDriver-Magnetization-00-0002788.omf
e2ed150l145l275St01-Oxs_MinDriver-Magnetization-00-0001616.omf
e2ed150l150l250St01-Oxs_MinDriver-Magnetization-00-0002386.omf
e2ed150l150l2100St01-Oxs_MinDriver-Magnetization-00-0015577.omf
我想将它们重命名为:
e2ed150l145l245St01.omf
e2ed150l145l250St01.omf
e2ed150l145l255St01.omf
e2ed150l145l260St01.omf
e2ed150l145l265St01.omf
e2ed150l145l270St01.omf
e2ed150l145l275St01.omf
e2ed150l150l250St01.omf
e2ed150l150l2100St01.omf
在一些类似的论坛之后,我使用了几个命令,包括:
rename 's/-Oxs_MinDriver-Magnetization-00-[0-9]*//g' e2e*.omf -v
但它没有用。请指教。
答案 0 :(得分:1)
您也可以使用mv
:
for i in e2e*.omf; do
mv $i ${i%%-*}.omf
done
或
for i in e2e*.omf; do
mv $i ${i//-*/}.omf
done
要折叠到一行:
for i in e2e*.omf; do mv $i ${i%%-*}.omf; done
如果目的地已存在,请使用mv -f