Comment sauter la première ligne d'un fichier en utilisant `awk`

How Skip First Line File Using Awk



Il existe diverses utilisations de la commande `awk` sous Linux. Par exemple, il peut être utilisé pour imprimer le contenu d'un fichier texte. La première ligne de nombreux fichiers texte contient l'en-tête du fichier, et parfois, la première ligne doit être ignorée lors de l'impression du contenu du fichier. Dans ce tutoriel, nous allons vous montrer comment accomplir cette tâche en utilisant la commande `awk`.

Créer un fichier texte

Pour suivre ce didacticiel, créez un fichier texte délimité par des tabulations nommé liste de livres.txt avec le contenu suivant. Ce fichier contient une liste de livres avec leurs auteurs correspondants. Dans ce tutoriel, nous allons vous montrer comment imprimer différentes parties de ce fichier après avoir sauté la première ligne.







Cybersécurité avec bash Paul Troncone, Carl Albing

Ligne de commande Kung Fu Jason Cannon

Ligne de commande Linux Travis Booth

Bash en quelques étapes simples Mike McGrath

Unix en quelques étapes simples Mike McGrath

Exemple 1 : Sauter la première ligne d'un fichier en utilisant NR et l'opérateur « > »

La variable NR indique le nombre d'enregistrements dans un fichier. La commande `awk` suivante utilise la variable NR pour sauter la première ligne d'un fichier. La valeur de NR est 1 pour la première ligne. La commande suivante imprimera les lignes pour lesquelles la valeur NR est supérieure à 1.



$chatliste de livres.txt

$ok '(NON> 1)'liste de livres.txt

La sortie suivante sera produite après l'exécution des commandes ci-dessus. La sortie inclut toutes les lignes autres que la première ligne du fichier.







Exemple 2 : sauter la première ligne en utilisant NR et l'opérateur '!='

La commande `awk` suivante est similaire à celle de l'exemple précédent. Cependant, l'opérateur de comparaison '!=' est utilisé ici au lieu de '>'.

$chatliste de livres.txt

$ok 'NR! = 1'liste de livres.txt

La sortie suivante sera produite après l'exécution des commandes ci-dessus. La sortie affiche toutes les lignes autres que la première ligne du fichier.



Exemple 3 : ignorer la première ligne d'un fichier à l'aide d'une instruction conditionnelle

La commande `awk` suivante imprimera les lignes du fichier si l'instruction if est vraie. Ici, l'instruction if ne sera vraie que lorsque la valeur NR n'est pas égale à 1.

$chatliste de livres.txt

$ok '{si (NR!=1) {imprimer}}'liste de livres.txt

La sortie suivante sera produite après l'exécution des commandes ci-dessus. La sortie inclut toutes les lignes à l'exception de la première ligne du fichier.

Exemple 4 : imprimez les noms de livre à partir du fichier mais sautez la première ligne

Deux commandes `awk` sont utilisées dans cet exemple pour imprimer tous les noms de livres sauf le premier. La commande `awk` lira la première colonne du fichier en fonction du séparateur de champs ( ) et enverra la sortie à la deuxième commande `awk`. La deuxième commande `awk` imprimera la sortie souhaitée.

$chatliste de livres.txt

$ok -F ' ' '{imprimer $1}'liste de livres.txt| ok 'NR! = 1 impression}'

La sortie suivante sera produite après l'exécution des commandes ci-dessus. La sortie affiche tous les noms de livre à l'exception de celui du premier livre.

Exemple 5 : Formater le contenu du fichier après avoir sauté la première ligne

L'option '-F', la variable NR et la fonction printf sont utilisées dans la commande 'awk' suivante pour générer une sortie formatée après avoir sauté la première ligne. La commande divisera le contenu du fichier en colonnes en fonction de , et printf imprimera les première et deuxième colonnes lorsque la valeur NR est d'au moins 2.

$chatliste de livres.txt

$ok -F ' ' 'NR>=2 {printf '%30s %20s ', $1, $2}'liste de livres.txt

La sortie suivante sera produite après l'exécution des commandes ci-dessus. La sortie affiche le contenu formaté du fichier, à l'exclusion de la première ligne du fichier.

Exemple 6 : Imprimez les noms des livres après avoir sauté la première ligne en utilisant NR et NF

La commande `awk` suivante utilise l'option '-F' et NR et NF pour imprimer les noms des livres après avoir ignoré le premier livre. L'option '-F' est utilisée pour séparer le contenu du fichier basé sur . NR est utilisé pour sauter la première ligne, et NF est utilisé pour imprimer la première colonne uniquement.

$chatliste de livres.txt

$ok -F ' ' 'NR> 1 && NF = 1'liste de livres.txt

La sortie suivante sera produite après l'exécution des commandes ci-dessus. La sortie inclut tous les noms de livre dans le fichier, à l'exception de celui du premier livre.

Exemple 7 : Imprimez les noms d'auteurs formatés après avoir sauté la première ligne

La commande `awk` suivante utilise l'option '-F' et une instruction conditionnelle pour imprimer les noms des auteurs après avoir sauté la première ligne. Ici, la valeur NR est utilisée dans la condition if. Ici, Nom de l'auteur : sera imprimé sur la première ligne au lieu du contenu de la première ligne. Les noms d'auteur du fichier seront imprimés pour les autres valeurs de NR.

$chatliste de livres.txt

$ok -F ' ' ' {if (NR==1) printf ' Nom de l'auteur : ' ; else printf '%s ', $2}'liste de livres.txt

La sortie suivante sera produite après l'exécution des commandes ci-dessus. La sortie affiche le texte Nom de l'auteur : avec une nouvelle ligne, et tous les noms d'auteur sont imprimés sauf le premier.

Conclusion

La première ligne d'un fichier peut être ignorée en utilisant diverses commandes Linux. Comme indiqué dans ce didacticiel, il existe différentes manières d'ignorer la première ligne d'un fichier en utilisant la commande `awk`. Notamment, la variable NR de la commande `awk` peut être utilisée pour sauter la première ligne de n'importe quel fichier.