vacio uso tipos texto son sinonimos script que pipes pipelines para palabras otro opuestas modificar linea guardar for fichero ejemplos ejecutar ejecutable directorios dentro crear copiar contenido concepto como comandos comando ciclo buscar archivos archivo antonimos command-line scripting tail unix-head

command line - uso - ¿Qué es lo opuesto a la cabeza? Quiero todas menos las primeras N líneas de un archivo



unix crear archivo vacio (8)

Prueba sed 1,2d . Reemplace 2 según sea necesario.

Dado un archivo de texto de longitud desconocida, ¿cómo puedo leer, por ejemplo, todas menos las primeras 2 líneas del archivo? Sé que tail me dará las últimas N líneas, pero no sé qué N es antes de tiempo.

Entonces para un archivo

AAAA BBBB CCCC DDDD EEEE

yo quiero

CCCC DDDD EEEE

Y para un archivo

AAAA BBBB CCCC

Me gustaría obtener solo

CCCC


Realmente no sé cómo hacerlo solo con la cola o la cabeza, pero con la ayuda de wc -l (recuento de líneas) y la expresión bash, puedes lograrlo.

tail -$(( $( wc -l $FILE | grep -Eo ''[0-9]+'' ) - 2 )) $FILE

Espero que esto ayude.


Suponiendo que su versión de cola lo admite, puede especificar comenzar la cola después de las líneas X. En tu caso, harías 2 + 1.

tail -n +3 [mdemaria@oblivion ~]$ tail -n +3 stack_overflow.txt CCCC DDDD EEEE


Una solución simple usando awk:

awk ''NR > 2 { print }'' file.name


Use esto, suponiendo que la primera muestra se llama sample1.dat luego tail --lines=3 sample1.dat que imprimirá todas las líneas desde la 3ra línea hasta la última línea.

Para la segunda muestra, nuevamente supongamos que se llama sample2.dat, sería tail --lines=-1 sample2.dat que imprimiría la última línea ...


usando awk para obtener todas menos la última 2 línea

awk ''FNR==NR{n=FNR}FNR<=n-3{print}'' file file

awk para obtener todas menos las primeras 2 líneas

awk ''NR>2'' file

O puedes usar más

more +2 file

o solo bash

#!/bin/bash i=0 while read -r line do [[ $i > 1 ]] && echo "$line" ((i++)) done <"file"


tail --help da lo siguiente:

-n, --lines=K output the last K lines, instead of the last 10; or use -n +K to output lines starting with the Kth

Por lo tanto, para filtrar las primeras 2 líneas, -n +3 debería darle la salida que está buscando (comenzar desde la 3ra).


tail -n +linecount filename comenzará la salida en el linecount del filename del filename , por lo que tail -n +3 filename hará lo que usted desee.