Isso é feito facilmente em awk
. Você só precisa definir o separador de campo como /
e depois imprimir cada linha em um arquivo cujo nome é o último campo. Como o número de campos em awk
é salvo na variável NF
, você pode obter os últimos campos com $NF
. Então, se você quer que todos tenham a extensão txt, tudo que você precisa é:
awk -F'/' '{print > $NF".txt"}' file
Se, como parece ser o caso com base nos seus comentários, o arquivo de entrada tiver finais de linha do Windows, será necessário remover o \r
primeiro:
sed 's/\r//' file | awk -F'/' '{print > $NF".txt"}'