GNU/Linux >> Tutoriales Linux >  >> Linux

Obtenga una línea específica del archivo de texto usando solo un script de shell

sed:

sed '5!d' file

awk:

awk 'NR==5' file

Asumiendo line es una variable que contiene su número de línea requerido, si puede usar head y tail , entonces es bastante simple:

head -n $line file | tail -1

Si no, esto debería funcionar:

x=0
want=5
cat lines | while read line; do
  x=$(( x+1 ))
  if [ $x -eq "$want" ]; then
    echo $line
    break
  fi
done

Linux
  1. ¿No puede obtener el código de salida correcto de un script?

  2. Eliminación de líneas específicas de un archivo en la línea de comandos de Linux

  3. Script bash:usar el comando de script desde un script bash para iniciar sesión

  4. Abra Vim desde dentro de un script de shell Bash

  5. Cómo obtener PID del proceso secundario bifurcado en el script de shell

Cómo quitar líneas de un archivo usando el comando Sed

Uso de Google Drive desde la línea de comandos de Linux

¿Eliminar eficientemente el primer par de líneas de un archivo de texto?

Bash Script para Center Fortune/texto de Stdin/pipe?

Matar el programa después de que genera una línea dada, desde un script de shell

¿Cuál es la forma más rápida de agregar texto a un archivo desde la línea de comandos?