У меня есть список воспроизведения, например, как показано ниже:изменить файл с помощью СЭД или AWK
>#EXTM3U
>#EXTINF:654,filenameSong1.aiff
>/Users/myname/Music/folder1/filenameSong1.aiff
>#EXTINF:198,filenamesong2.mp4
>/Users/myname/Music/folder1/subfolder2/filenameSong2.mp4
>#EXTINF:217,filenameSong3.mp3
>/Users/myname/Music/folder1/subfolder3/filenameSong3.mp3
>#EXTINF:341,filenameSong4.mp4
>/Users/myname/Music/folder1/subfolder3/filenameSong4.mp4
Я хотел бы изменить этот файл, используя СЭД или AWK или комбинацию из двух
таким образом, что filenameSong остается, но корни стать «/ MUSIC/ например
/Users/myname/Music/folder1/subfolder3/filenameSong4.mp4 становится /MUSIC/filenameSong4.mp4 или /MUSIC/NEWFOLDERNAME/filenameSong4.mp4
с возможностью добавления нового имени папки после папки MUSIC. Я думаю, что если бы я мог найти способ изменить выражение в команде Sed или/и использовать команду basename для каждой строки.
Может кто-то мне помочь Как я могу это сделать?
спасибо за ответ. Я новичок здесь. Я думал, что мне нужно поставить «>», чтобы заблокировать мой код. мой скрипт не содержит никаких «>» – siamak
Спасибо. Я удалил только «>» из вашего кода и сделал именно то, что хотел. Предполагая, что я могу добавить переменную или имя нового имени папки после MUSIC и сможет добавить необязательное новое имя папки. – siamak
oops: когда я запускаю sed «s @ ^/Users. */@/MUSIC /« $ NewFolderName »$ {1 + /} $ 1/@" "$ 1" – siamak