A saída de cada linha processada awk
é terminada em um avanço de linha ( \n
) que é o padrão Unix / Linux. Windows / DOS espera um retorno de carro seguido por um avanço de linha para marcar o final da linha ( \r\n
). notepad
exibirá todos os arquivos gerados pelo Linux como você está vendo atualmente.
Para resolver, canalize a saída de awk
por meio do comando unix2dos
, que converte n
s em \r\n
s para você:
unzip -l my.zip | awk '{print $4}' |unix2dos > my.txt
Como alternativa, tente informar awk
para a saída \r\n
no final de cada linha usando a variável ORS
:
unzip -l my.zip | awk -v ORS='\r\n' '{print $4}' > my.txt
Para listar sem cabeçalho e rodapé:
unzip -l my.zip | awk -v ORS='\r\n' '{print $4}' | tail -n +4 | head -n -2 > my.txt
Ou
Como alternativa, use zipinfo -1 <zip file>
(número 1, não letra l) para listar arquivos sem cabeçalho e rodapé. Talvez você ainda precise canalizá-lo por unix2dos
. Útil somente se zipinfo
estiver disponível no CygWin.