bash - print - Línea de salida archivo de texto enorme
colors bash prompt (8)
Tengo un volcado sql con 300mb que me da un error en una línea específica.
Pero esa línea está en el medio del archivo. ¿Cuál es el mejor enfoque?
head -n middleLine dump.sql > output
?
¿O puedo sacar solo la línea que necesito?
Esto podría funcionar para usted:
sed ''X!d;q'' file
donde X es el número de línea.
Esto también se puede hacer con Perl:
perl -wnl -e ''$. == 4444444 and print and exit;''
4444444 es el número de línea que desea imprimir.
Tenga en cuenta que el archivo debe cerrarse una vez que se imprime la línea para que no siga leyéndolo.
Puede usar sed -n -e 123456p your.dump
para imprimir la línea 123456
Puedes usar sed:
sed -n "x p" dump.sql
donde x
es el número de línea.
Si sed
es demasiado lento para su gusto, también puede usar
cat $THE_FILE | head -n $DESIRED_LINE | tail -n 1
Si conoces una frase en esa línea, usaría grep
. Si la frase es "errortexto" usa:
$ cat dump.sql | grep "errortext"
Si el archivo es largo, considera usar
sed -n ''X{p;q}'' file
Donde X es el número de línea. Dejará de leer el archivo después de llegar a esa línea.
También puedes probar awk
como:
awk ''NR==YOUR_LINE_NO{print}'' file_name