我看到过几篇关于如何从文件名中删除部分内容的帖子,但针对的情况与我的情况不同。
我想在命令中删除文件夹中文件里的‘n’个字符。从
Song-01-Artist-JohnDoe - songtitle-A.mp3
Song-01-Artist-JohnDoe - songtitle-B.mp3
Song-01-Artist-JohnDoe - songtitle-C.mp3
变成
songtitle-A.mp3
songtitle-B.mp3
songtitle-C.mp3
我该如何实现这一点?任何帮助我都非常感谢。TIA
答案1
您可以使用基于 Perl 的rename
命令,也可以使用类似 sed 的正则表达式替换
rename -n 's/.{25}//' -- *.mp3
或者使用简单的子字符串操作
rename -n '$_ = substr($_,25)' -- *.mp3
或者切换到zsh
并使用相同类型的字符串切片,如u/doneal24 的评论
autoload -Uz zmv # best put in your .zshrc
zmv -n '(*.mp3)' '${1:25}'
在所有情况下,-n
一旦您对建议的操作感到满意,就将其删除。