gpt4 book ai didi

linux - 删除许多文件名中不需要的部分

转载 作者:太空宇宙 更新时间:2023-11-04 09:39:38 26 4
gpt4 key购买 nike

我有这样的文件名:

MOD13Q1.A2013001.h25v08.005.2013018031021.hdf.250m_16_days_EVI.tif
MOD13Q1.A2013001.h25v08.005.2013018031021.hdf.250m_16_days_NDVI.tif
MOD13Q1.A2013001.h25v08.005.2013018031021.hdf.250m_16_days_VI_Quality.tif
MOD13Q1.A2013017.h25v08.005.2013039200748.hdf.250m_16_days_EVI.tif
MOD13Q1.A2013017.h25v08.005.2013039200748.hdf.250m_16_days_NDVI.tif
MOD13Q1.A2013017.h25v08.005.2013039200748.hdf.250m_16_days_VI_Quality.tif

我只需要现有文件名中的特定详细信息。我希望文件名重命名为:A2013001_h25v08_EVI.tif

我用过代码

 for f in *.tif   
do
c1= cut -c9-16 $f
c2= cut -c18-23 $f
c3= cut -c60-80 $f
c= echo $c1$c2$c3
echo mv "{$f}" "{$c}"
done

但是这段代码不起作用。还有另一种更好的方法吗?我对 Linux 编码还很陌生,因此任何建议都会有很大帮助。

谢谢

最佳答案

使用mmv:

mmv -n "MOD13Q1.*.005.*.hdf.250m_16_days_*.tif" "#1_#3.tif"

如果输出看起来正确,删除 -n 以实际重命名文件。

注意:mmv 不是标准命令,您可能必须使用系统的包管理器安装它。

关于linux - 删除许多文件名中不需要的部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22805779/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com