使用shell脚本删除两个下划线之间的所有字母

时间:2016-02-25 17:41:04

标签: bash shell sh

我的目录有一个类似于_3vaca3424434_1-lecture-introduction.pdf的文件名列表,我想将其重命名为1-lecture-introduction.pdf。我怎么能这样做?

1 个答案:

答案 0 :(得分:4)

for f in *; do
    new_f=${f##_*_}
    echo mv -- "$f" "$new_f"
done

查看上述输出,如果命令看起来正确,请移除echo并再次运行。

${f##_*_}_*_的值中移除与模式$f匹配的最长前缀。