使用 shell 脚本删除两个下划线之间的所有字母
Remove all letters between two underscores with shell script
我的目录有一个类似于 _3vaca3424434_1-lecture-introduction.pdf
的文件名列表,我想将其重命名为 1-lecture-introduction.pdf
。我该怎么做?
for f in *; do
new_f=${f##_*_}
echo mv -- "$f" "$new_f"
done
查看上面的输出,如果命令看起来正确,请再次删除 echo
和 运行。
${f##_*_}
从 $f
.
的值中删除匹配模式 _*_
的最长前缀
我的目录有一个类似于 _3vaca3424434_1-lecture-introduction.pdf
的文件名列表,我想将其重命名为 1-lecture-introduction.pdf
。我该怎么做?
for f in *; do
new_f=${f##_*_}
echo mv -- "$f" "$new_f"
done
查看上面的输出,如果命令看起来正确,请再次删除 echo
和 运行。
${f##_*_}
从 $f
.
_*_
的最长前缀