Linux/Unix Shell Scripting - Ayuda con sed dentro de loop

 
Vista:
sin imagen de perfil
Val: 2
Ha disminuido su posición en 5 puestos en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Ayuda con sed dentro de loop

Publicado por Socrates (1 intervención) el 06/04/2021 10:37:45
1
2
3
4
5
while read numero; do
 
prueba=$(sed -n '/$numero/,/END/p' $archivo | grep -P -o 'CAT-\d+')
echo $prueba
done < $fuente

Hola chicos estoy tratando de hacer un script que lea secciones de un archivo a la vez y que luego pueda yo filtrar pedazos de texto dentro de esa seccion.

He escrito este script de un ciclo while pero no se porque no me aparece nada cuando hago un echo $prueba

Saludos.
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

Ayuda con sed dentro de loop

Publicado por Tom (361 intervenciones) el 06/04/2021 18:25:03
Siempre caeis por no leer :D
Dentro de comillas simples _no_ se sustituyen variables, con lo que $numero vale exactamente eso, $numero.
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
sin imagen de perfil
Val: 13
Ha disminuido 1 puesto en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Ayuda con sed dentro de loop

Publicado por José Luis (5 intervenciones) el 07/04/2021 05:27:46
Es correcto lo que comenta Tom.

Separa el comando:
1
prueba=$(sed -n '/$numero/,/END/p' $archivo | grep -P -o 'CAT-\d+')

por
1
2
parametro=$(echo "/$numero/,/END/p")
prueba=$(sed -n $parametro $archivo | grep -P -o 'CAT-\d+')

Comenta si te sirvió en algo u orientó.

Saludos
José Luis
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