
awk -F ';' '{print $1}' FileName
Estou usando este comando para imprimir a primeira coluna de um arquivo delimitado por ponto e vírgula.
Agora, tenho que percorrer a saída do comando acima. Se minha saída for
0
1
2
Eu tenho que percorrer cada registro e especificar a iteração, qual é o meu delimitador de registro na minha saída
Existe uma maneira de imprimir a saída como abaixo
0;1;2
Para que eu possa iterar dizendo que o delimitador é ;
Responder1
para evitar o ponto e vírgula final
awk -F\; 'NR>1 { printf ";" ;} {printf "%s",$1;} END {printf "\n"} '
printf
não imprima avanço de linhaNR>1
imprimir apenas após a primeira linhaEND
imprima após a última linha.
Responder2
awk
gera o valor de ORS
(separador de registro de saída) no final de cada print
instrução. É uma nova linha por padrão, mas você pode alterá-la:
$ cat foo.txt
0;3;6
1;4;7
2;5;8
$ awk -vORS=';' -F';' '{print $1} END {printf "\n"}' foo.txt
0;1;2;
Eu adicionei END {printf "\n"}
para obter uma nova linha no final da saída.
Responder3
Você também pode usar coreutils:
<foo.txt cut -d';' -f1 | paste -sd';'