如何使用bash / sed脚本删除mp3文件的第一个和第二个下划线?

时间:2015-11-26 23:38:02

标签: bash sed scripting

我的mp3就像 This_is_my_Mp3.mp3 我想这个这是 - 我的Mp3.mp3

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

简单明了:

% sed -e 's/_/ /g' -e 's/ / - /2' <<<'This_is_my_Mp3.mp3'
This is - my Mp3.mp3

第二个表达式上的/ 2标志,它只会替换模式的第二个出现。

当您处理'字段'时(这意味着您在水平而不是垂直处理文本)awk通常是更好的选择

如果要批量重命名,请执行以下操作: 这个版本只会编辑流,所以你可以看到结果是什么(没有重命名文件!):

for file in *.mp3; do
sed -e 's/_/ /g' -e 's/ / - /2' <<<"$file"
done

使用mv,这个版本实际上会重命名当前目录中的文件(请谨慎使用!):

for file in *.mp3; do 
mv "$file" "$(sed -e 's/_/ /g' -e 's/ / - /2' <<<$file)"
done