Tengo varios archivos que contienen información de texto ascii en las primeras 5-10 líneas, seguidas de información de matriz bien tabulada. En un script de shell, quiero eliminar estas primeras líneas de texto para poder usar la información de matriz pura en otro programa. ¿Cómo puedo usar los comandos bash shell para hacer esto?
Si te sirve de ayuda, estoy usando RedHat y un sistema Ubuntu Linux.
Respuesta aceptada:
Siempre que el archivo no sea un enlace simbólico o un enlace fijo, puede usar sed, tail o awk. Ejemplo a continuación.
$ cat t.txt
12
34
56
78
90
sed
$ sed -e '1,3d' < t.txt
78
90
También puede usar sed en el lugar sin un archivo temporal:sed -i -e 1,3d yourfile
. Esto no hará eco de nada, solo modificará el archivo en el lugar. Si no necesita canalizar el resultado a otro comando, esto es más fácil.
cola
$ tail -n +4 t.txt
78
90
wow
$ awk 'NR > 3 { print }' < t.txt
78
90