【问题标题】:rename all files after extension扩展后重命名所有文件
【发布时间】:2019-01-21 22:44:38
【问题描述】:

是否可以编写脚本来重命名扩展名后的所有文件?

文件夹中的例子,有:

hello.txt-123ahr
bye.txt-56athe
test.txt-98hg12

我想要输出:

hello.txt
bye.txt
test.txt

【问题讨论】:

    标签: linux shell


    【解决方案1】:

    如果你只是想从破折号中删除所有内容,你可以使用参数扩展:

    #!/bin/bash
    for file in *.txt-* ; do
        mv "$file" "${file%-*}"
    done
    

    其中${file%-*} 的意思是“从$file 中删除最后一个破折号”。如果您想从第一个破折号开始,请使用%%

    请注意,如果某些文件的前导部分相同,您可能会覆盖某些文件,例如hello.txt-123abchello.txt-456xyz

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-16
      • 2017-04-23
      • 2018-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-11
      • 2017-07-05
      相关资源
      最近更新 更多