Mi script .sh no funciona, que hago mal?

Imagen de Tachan
16 puntos

Hola amigos,

llevo media mañana buscando información en internet, pero no acabo de conseguir lo que quiero.
Tengo una serie de archivos del estilo NOMBRE.ascii con la siguiente estructura:

Title: "Draht/Y0" Name: "Draht/Y0"
X-Axis: [ -0.5, 15.5] 16 Bins, Label: "Drahtnummer Y0" Unit: ""
Abscissa: Label: "Counts" Unit: ""
37 40 29 34 37 45 54 2661
491 49 31 40 41 34 38 34

---- End of Histogram ----

Quiero eliminar de todos ellos las lineas con letras y dejar sólamente los números.
Buscando, buscando me he encontrado con el comando sed, y si hago desde linea de comandos, por ejemplo:

>sed -e '/^---/d' TimeY090mm.ascii

me elimina la última linea del archivo TimeY090.ascii.
Pero como hay varios archivos he intentado crear un script para hacerlo todo a la vez.
Mi script tiene la siguiente forma:

#!/bin/sh

for f in *.ascii; do
sed -e '/^T/d' $f;
sed -e '/^X/d' $f;
sed -e '/^A/d' $f;
sed -e '/^---/d' $f;
done

en linea de comandos hago:

>chmod +x script.sh

y luego

> ./script.sh

aparecen un montón de lineas en pantalla, o sea, que algo sucede, pero si hago luego:

> less archivo.ascii

resulta que las lineas que quiero eliminar siguen ahí.

Que estoy haciendo mal?
Se me acaban las ideas.
Gracias de antemano.
Saludos

Tachan

Imagen de arcachofo
+1
0
-1

Hola Tachan, basicamente no te funciona porque no le has dicho donde guardar los datos resultantes, osea que te los manda a la salida estandar, osea a pantalla.

Otra cosa es que quizás sería mejor hacer una tubería con todos los comandos, algo así:

#!/bin/sh

for f in *.ascii; do
sed -e '/^T/d' $f | sed -e '/^X/d' | sed -e '/^A/d' | sed -e '/^---/d' > archivo_temporal

mv archivo_temporal $f

done

Es
_________________________________________________________________________
http://pic-linux.foroactivo.net

+1
0
-1

_________________________________________________________________________

http://linuxmicros.blogspot.com/