다음 구조의 m3u 재생 목록 파일을 처리하려고 합니다.
#EXTM3U
#EXTING:193,Song name
/path/to/the/song.mp3
#EXTING:201,Another song
/somewhere/in/a directory/song2.mp3
목표는 경로가 포함된 각 줄에 대해 경로를 제거하고 파일 이름과 확장자만 유지하는 것입니다. 예를 들어 위 파일은 다음과 같습니다.
#EXTM3U
#EXTING:193,Song name
song.mp3
#EXTING:201,Another song
song2.mp3
나는 awk의 여러 변형을 시도했고 내가 얻을 수 있는 가장 가까운 것은 다음과 같습니다.
awk '{if ((NR % 2 == 1) && (NR != 1)){print "$(basename $0)"}else{print}}' playlist.m3u
if/else 구조는 괜찮지만 "print basename"만 작동하지 않습니다. 그리고 쉘이 저의 장점이 아니라는 점을 인정해야 합니다. ;)
누구든지 도와줄 수 있나요?
감사합니다!
답변1
awk -F/ '!/^#/{$0=$NF}1' playlist.m3u