我有一个简单的歌曲文件播放列表:
1003 James Brown - The Boss Unknown Artist.mp3
1004 James Brown - Slaughters Theme Unknown Artist.mp3
1005 James Brown - Payback(1) Unknown Artist.mp3
...
我希望它们采用以下格式:
1003 James_Brown_-_The_Boss_Unknown_Artist.mp3
1004 James_Brown_-_Slaughters_Theme_Unknown_Artist.mp3
...
请注意,前面数字后面的空格不会被替换。我有以下简单的sed脚本:
sed "s/ /_/g"
但是这也取代了数字之后的空格。我知道如何形成捕获组,但这也无济于事。我怎样才能说服sed只将替换应用于输入字符串的一部分,而不是整个字符串?
答案 0 :(得分:0)
你可以做到
sed 's/ /_/g; s/_/ /'
即。首先将所有空格转换为下划线,然后将第一个下划线转回空间。