awk -F/ '!/^#/{$0=$NF}1' playlist.m3u
Estou tentando processar um arquivo de lista de reprodução do m3u estruturado como está:
#EXTM3U
#EXTING:193,Song name
/path/to/the/song.mp3
#EXTING:201,Another song
/somewhere/in/a directory/song2.mp3
O objetivo é, para cada linha contendo um caminho, remover o caminho e manter apenas o nome do arquivo e a extensão. Por exemplo, o arquivo acima se tornaria:
#EXTM3U
#EXTING:193,Song name
song.mp3
#EXTING:201,Another song
song2.mp3
Eu tentei com o awk várias variações, o mais próximo que consegui foi este:
awk '{if ((NR % 2 == 1) && (NR != 1)){print "$(basename $0)"}else{print}}' playlist.m3u
A estrutura if / else está ok, apenas a coisa "print basename" não funciona, e eu tenho que admitir que shell não é o meu ponto strong;)
Alguém pode ajudar?
Muito obrigado!