使用Shell脚本重命名文件名

好奇的

我有很多类似以下的文件名;

KO.ADVT..HHE.D.2017.163.121959.SAC
KO.ADVT..HHN.D.2017.163.121957.SAC
KO.ADVT..HHZ.D.2017.163.121959.SAC
KO.ARMT..HHE.D.2017.163.121957.SAC
KO.ARMT..HHN.D.2017.163.121957.SAC
KO.ARMT..HHZ.D.2017.163.121956.SAC
KO.BGKT..HHE.D.2017.163.121958.SAC
KO.BGKT..HHN.D.2017.163.121959.SAC
KO.BGKT..HHZ.D.2017.163.121954.SAC
KO.BRGA..HNE.D.2017.163.121955.SAC
KO.BRGA..HNN.D.2017.163.121959.SAC
KO.BRGA..HNZ.D.2017.163.121959.SAC
KO.BUYA..HNE.D.2017.163.121954.SAC
KO.BUYA..HNN.D.2017.163.121955.SAC
KO.BUYA..HNZ.D.2017.163.121956.SAC
KO.CAVI..HHE.D.2017.163.121958.SAC
KO.CAVI..HHN.D.2017.163.121958.SAC
KO.CAVI..HHZ.D.2017.163.122001.SAC
KO.CRLT..HHE.D.2017.163.121958.SAC
KO.CRLT..HHN.D.2017.163.121959.SAC
KO.CRLT..HHZ.D.2017.163.121958.SAC
KO.CTYL..HHE.D.2017.163.122000.SAC
KO.CTYL..HHN.D.2017.163.121959.SAC
KO.CTYL..HHZ.D.2017.163.122004.SAC
KO.DST..HNE.D.2017.163.121959.SAC
KO.DST..HNN.D.2017.163.121957.SAC
KO.DST..HNZ.D.2017.163.121956.SAC
KO.EDRB..HHE.D.2017.163.121959.SAC
KO.EDRB..HHN.D.2017.163.121955.SAC
KO.EDRB..HHZ.D.2017.163.121958.SAC

我想这样改变他们的名字

ADVT.HHE.KO
ADVT.HHN.KO
ADVT.HHZ.KO
ARMT.HHE.KO
ARMT.HHN.KO
ARMT.HHZ.KO
BGKT.HHE.KO
BGKT.HHN.KO
BGKT.HHZ.KO
BRGA.HNE.KO
BRGA.HNN.KO
BRGA.HNZ.KO
BUYA.HNE.KO
BUYA.HNN.KO
BUYA.HNZ.KO
CAVI.HHE.KO
CAVI.HHN.KO
CAVI.HHZ.KO
CRLT.HHE.KO
CRLT.HHN.KO
CRLT.HHZ.KO
CTYL.HHE.KO
CTYL.HHN.KO
CTYL.HHZ.KO
DST.HNE.KO
DST.HNN.KO
DST.HNZ.KO
EDRB.HHE.KO
EDRB.HHN.KO
EDRB.HHZ.KO

我用了这段代码

 for file in *.SAC
    do
        newfilename="${file:3:6}${file:7:9}"
    echo mv $file $newfilename
    done

但是结果是这样的;

ADVT....HHE.D.2
ADVT....HHN.D.2
ADVT....HHZ.D.2
DST..H.HNE.D.20
DST..H.HNN.D.20
DST..H.HNZ.D.20
.... so on.

如何使用我的代码获取新的文件名?

提前致谢。

吉尔·奎诺(Gilles Quenot)

使用

for f in *SAC; do
    echo mv "$f" "$(awk -F. -v OFS=. '{print $2, $4, $1}' <<< "$f")"
done

echo如果输出看起来不错,请删除语句

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Shell重命名文件名中的编号

来自分类Dev

从文件名重命名文件夹 [脚本]

来自分类Dev

Shell - 如何重命名文件名中间的文件?

来自分类Dev

使用Shell脚本重命名文件

来自分类Dev

重命名包含反斜杠的文件名的脚本

来自分类Dev

如何还原由脚本重命名的文件名

来自分类Dev

在bash shell脚本中,如何重命名多个文件,仅保留数字和原始文件名的扩展名?

来自分类Dev

使用node.js脚本重命名文件名的一部分

来自分类Dev

使用重命名递归替换文件名(而不是目录)中无效字符的脚本

来自分类Dev

Shell重命名文件名,使用不可打印的字符

来自分类Dev

使用output(StreamReader)行作为文件名(重命名)

来自分类Dev

使用PowerShell重命名或删除文件名中的字符

来自分类Dev

使用wget重命名时获得相同的文件名

来自分类Dev

使用 csv 字典重命名文件名

来自分类Dev

如何使用查找/重命名重命名多个文件名

来自分类Dev

Bash oneliner重命名文件名

来自分类Dev

重命名现有文件名

来自分类Dev

Excel VBA重命名文件名

来自分类Dev

如何重命名(太长)文件名

来自分类Dev

重命名上载的文件名,JSP

来自分类Dev

重命名现有文件名

来自分类Dev

剥离文件名并重命名

来自分类Dev

Bash:重命名文件名开头

来自分类Dev

在 PowerShell 中重命名文件名

来自分类Dev

为重命名清理文件名

来自分类Dev

重命名文件名python

来自分类Dev

(unix shell脚本)解压缩多个zip文件,并在zip文件名之后重命名解压缩的文件

来自分类Dev

重命名文件,删除文件名bash脚本的一部分

来自分类Dev

如何在文件上传脚本中重命名图像文件名?

Related 相关文章

热门标签

归档