Ir ao conteúdo
  • Cadastre-se

Outro Listar texto com espaço (Shell script)


Ir à solução Resolvido por Marcos FRM,

Posts recomendados

Tenho um arquivo com as informações separadas por ponto e vírgula assim,

 

1;1;00:00:00;00:01:00;2023 Mitsubishi Outlander PHEV;$39,845
1;2;00:16:30;00:17:25;2023 Mitsubishi Eclipse Cross;$25,795
1;3;00:02:00;00:05:30;2023 Mitsubishi Outlander;$27,595
2;1;01:01:00;01:25:00;2023 Mitsubishi Outlander Sport;$22,995
3;1;11:35:30;11:40:10;2023 Mitsubishi Mirage G4;$17,245

 

Porém alguns campos tem espaço no texto e com isso não consigo atribuir o veículo. Este é o meu script,

 

#!/bin/sh

for line in $(cat file); do
    index=$(echo $line | cut -d ";" -f1)
    eps=$(echo $line | cut -d ";" -f2)
    vehicle=$(echo $line | cut -d ";" -f5)
    company=$(echo $vehicle | cut -d " " -f2)
    output="${company} - ${index}x${eps} - ${vehicle}.mp4"
    
    echo $output
done

 

A saída está assim,

2023 - 1x1 - 2023.mp4
Mitsubishi - MitsubishixMitsubishi - Mitsubishi.mp4
Outlander - OutlanderxOutlander - Outlander.mp4
 - .mp4$39,845


2023 - 1x2 - 2023.mp4
Mitsubishi - MitsubishixMitsubishi - Mitsubishi.mp4
Eclipse - EclipsexEclipse - Eclipse.mp4
 - .mp4x$25,795

 

Mas devia ser,

Mitsubishi - 1x1 - 2023 Mitsubishi Outlander PHEV.mp4
Mitsubishi - 1x2 - 2023 Mitsubishi Eclipse Cross.mp4

 

Como faço para mostrar dessa forma?

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
  • Solução

Melhor ainda:

 

while read line || [[ $line ]]; do
...
done < file

 

Se EOF não tiver uma nova linha, read retorna 1, porém salva a linha em line. Nesse caso, o loop não seria executado para a última linha do arquivo sem || [[ $line ]].

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!