Unix - numero de linea con sed

 
Vista:

numero de linea con sed

Publicado por dani (1 intervención) el 13/04/2016 16:35:19
Buenas!!!

Tengo un problema con la utilizacion de sed.

Lo que quiero hacer es agregar un numero por linea correlativo. Tengo el siguiente codigo.

1
2
3
4
5
6
7
8
contador=1
count=21
while read line
 do
sed -i "$contador i|^|$count;|g" compara.txt
contador= $contador + 1
count=$count + 1
done < compara.txt

La idea es que teniendo un archivo asi.

hola
como
estas

me lo cambie poniendo los numero asi.

21;hola
22;como
23;estas
Que es lo que tengo mal?

muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 39
Ha mantenido su posición en Unix (en relación al último mes)
Gráfica de Unix

numero de linea con sed

Publicado por Antoni Masana (19 intervenciones) el 14/04/2016 10:30:51
Con esto te deberia de funcionar:

1
2
3
4
5
6
7
count=21
>destino.txt
while read line
do
   echo $line | sed  "s|^|$count;|g" >>destino.txt
   count=`expr $count + 1`
done < origen.txt

Te sobra un contador. El fichero origen.txt es el que tiene:

hola
como
estas

Y el fichero destino.txt es el resultado:

21;hola
22;como
23;estas

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar