Imprimir Número da linha [RESOLVIDO]

1. Imprimir Número da linha [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 10/10/2020 - 10:48h

pessoas ... tenho o seguinte
while read line
do
if [ -z `echo $line | cut -d';' -f3 ` ];then
echo $line
fi
done < ole_3.csv


como faço para imprimir o numero da linha de $line ???

preciso da saída tipo assim
numero_da_linha --- $line 




  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 10/10/2020 - 21:50h

Mauriciodez escreveu:

pessoas ... tenho o seguinte

nlin=0;
while read line;do
let nlin++;
if [ -z `echo $line | cut -d';' -f3 ` ];then
echo "$nlin --- $line"
fi
done < ole_3.csv


como faço para imprimir o numero da linha de $line ???

preciso da saída tipo assim
numero_da_linha --- $line 


Coloquei o contador no seu script.
Segue outra opção:
awk -F";" '{if($3 == "") print NR" ---",$0}' ole_3.csv 

if($3 == "") => Se Campo 3 = "" ("Nulo"), o mesmo que => "[ -z `echo $line | cut -d';' -f3 ` ]"
printa NR (Num da linha) "---" conteúdo da linha ($0).
cat texto.txt
0;1;2;3
4;5;6;7
8;9;a;b
c;d;;f
g;h;i;j
k;l;m;n
o;p;;r
s;t;u;v
w;x;y;z

Saída:
4 --- c;d;;f
7 --- o;p;;r

______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________

3. Re: Imprimir Número da linha

toh
nemuru

(usa Outra)

Enviado em 10/10/2020 - 11:35h

só por um contador.
pode ser que com o exec seja um pouco mais rápido.


exec 0<ole_3.csv
while IFS=\; read A B line
do
((n++))
if [ -n "$line" ];then
echo $n --- $line
fi
done
unset A B line n



4. Re: Imprimir Número da linha [RESOLVIDO]

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 10/10/2020 - 11:45h

Mauriciodez escreveu:

pessoas ... tenho o seguinte
while read line
do
if [ -z `echo $line | cut -d';' -f3 ` ];then
echo $line
fi
done < ole_3.csv


como faço para imprimir o numero da linha de $line ???

preciso da saída tipo assim
numero_da_linha --- $line 


Uma alternativa poderia ser
linha=1
while read line
do
if [ -z `echo $line | cut -d';' -f3 ` ];then
echo $line
linha=$($linha+1)
fi
done < ole_3.csv







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts