Processando caminhos no arquivo m3u

1

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!

    
por X99 13.12.2016 / 00:39

1 resposta

2
awk -F/ '!/^#/{$0=$NF}1' playlist.m3u
    
por 13.12.2016 / 03:26

Tags