GNU/Linux >> Tutoriels Linux >  >> Linux

Obtenir une ligne spécifique à partir d'un fichier texte en utilisant uniquement un script shell

sed :

sed '5!d' file

ok :

awk 'NR==5' file

En supposant line est une variable qui contient votre numéro de ligne requis, si vous pouvez utiliser head et tail , alors c'est assez simple :

head -n $line file | tail -1

Sinon, cela devrait fonctionner :

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. Utilisation de Google Drive à partir de la ligne de commande Linux

  2. Impossible d'obtenir le bon code de sortie à partir d'un script ?

  3. Suppression de lignes spécifiques d'un fichier dans la ligne de commande Linux

  4. Utilisation de la commande passwd à partir d'un script shell

  5. Obtenir mtime d'un fichier spécifique en utilisant Bash ?

Comment supprimer des lignes d'un fichier à l'aide de la commande Sed

Supprimer efficacement les premières lignes d'un fichier texte ?

Script Bash vers Center Fortune/texte depuis Stdin/pipe ?

Obtenir l'adresse MAC à l'aide du script shell

Le shell Linux récupère la valeur d'un champ à partir d'un fichier yml

Tuer le programme après avoir sorti une ligne donnée, à partir d'un script shell