Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/04/2008, 12:43
gmicale
 
Fecha de Ingreso: junio-2006
Mensajes: 6
Antigüedad: 18 años, 6 meses
Puntos: 0
ayuda con shell script

Hola!

estoy intentando programar un shell script que recorra un texto en busca de una linea concreta. En caso de encontrarla no debe mostrar nada, por lo contrario, si no encuentra esa linea debe mostrar el contenido del texto tal cual fue recibido.

Con esa finalidad he llegado hasta este script, al que he llamado myscript.sh:

#!/bin/sh
cadena="PRIVATE FILE: YES"
encontrado=0

#recorremos el texto
while read line ; do
if [ "$encontrado" -eq 1 ]; then
continue
fi

if [ "$line" = "$cadena" ]; then
buffer=""
encontrado=1
continue
fi

buffer=$buffer$line
done

echo $buffer



La llamada la hago desde la consola así:
cat texto.txt | myscript.sh

Esto funciona, pero se come todos los saltos de linea.

Supongo que el error está al almacenar cada linea en la variable buffer, pero no sé cómo hacer ese salto de linea.