Comment afficher une ligne spécifiée d'un fichier ou d'un résultat de commande sous Linux (sed, awk)

Voici comment utiliser les commandes Linux (sed, ʻawk`) pour afficher une ligne spécifiée d'un fichier ou d'un résultat de commande.

environnement

[demo@centos8 test]$ cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)
[demo@centos8 test]$

1. Comment afficher la ligne spécifiée dans le fichier

Il existe un fichier (ʻa01.txt`).

a01.txt


1111 2222 3333 4444 a
2222 3333 4444 5555 b
3333 4444 5555 6666 c
4444 5555 6666 7777 d
5555 6666 7777 8888 e

1.1. Afficher la nième ligne

Pour afficher la ** 3ème ligne ** du fichier (ʻa01.txt`), vous pouvez l'afficher avec la commande suivante.

sed -n 3p a01.txt

Résultat d'exécution


[demo@centos8 test]$ sed -n 3p a01.txt
3333 4444 5555 6666 c
[demo@centos8 test]$

Vous pouvez également l'afficher avec la commande suivante.

awk 'NR==3' a01.txt

Résultat d'exécution


[demo@centos8 test]$ awk 'NR==3' a01.txt
3333 4444 5555 6666 c
[demo@centos8 test]$

1.2. Afficher les lignes m à n

Pour afficher ** la 2e à la 4e ligne **, utilisez la commande suivante.

sed -n '2,4p' a01.txt

Résultat d'exécution


[demo@centos8 test]$ sed -n '2,4p' a01.txt
2222 3333 4444 5555 b
3333 4444 5555 6666 c
4444 5555 6666 7777 d
[demo@centos8 test]$

Vous pouvez également l'afficher avec la commande suivante.

awk 'NR==2,NR==4' a01.txt

Résultat d'exécution


[demo@centos8 test]$ awk 'NR==2,NR==4' a01.txt
2222 3333 4444 5555 b
3333 4444 5555 6666 c
4444 5555 6666 7777 d
[demo@centos8 test]$

1.3 Afficher m et n lignes

Pour afficher ** 2e ligne ** et ** 4e ligne **, utilisez la commande suivante.

awk 'NR==2;NR==4' a01.txt

Résultat d'exécution


[demo@centos8 test]$ awk 'NR==2;NR==4' a01.txt
2222 3333 4444 5555 b
4444 5555 6666 7777 d
[demo@centos8 test]$

1.4. Afficher la nième ligne et les suivantes

Si vous souhaitez afficher ** tout ** à partir de la deuxième ligne, vous pouvez l'afficher avec la commande suivante.

tail -n +2 a01.txt

Résultat d'exécution


[demo@centos8 test]$ tail -n +2 a01.txt
2222 3333 4444 5555 b
3333 4444 5555 6666 c
4444 5555 6666 7777 d
5555 6666 7777 8888 e
[demo@centos8 test]$

Vous pouvez également l'afficher avec la commande suivante. sed -n '2,$p' a01.txt

Résultat d'exécution


[demo@centos8 test]$ sed -n '2,$p' a01.txt
2222 3333 4444 5555 b
3333 4444 5555 6666 c
4444 5555 6666 7777 d
5555 6666 7777 8888 e
[demo@centos8 test]$

awk 'NR>=2' a01.txt

Résultat d'exécution


[demo@centos8 test]$ awk 'NR>=2' a01.txt
2222 3333 4444 5555 b
3333 4444 5555 6666 c
4444 5555 6666 7777 d
5555 6666 7777 8888 e
[demo@centos8 test]$

2. Comment afficher la ligne spécifiée de la commande (en utilisant | (pipe))

La commande `ls -la 'affiche les éléments suivants:

Résultat d'exécution


[demo@centos8 test]$ ls -la
16 au total
drwxrwxr-x 2 démo démo 66 14 juin 16:13 .
drwx------.5 démo démo 159 14 juin 15:38 ..
-rw-rw-r--1 démo démo 110 14 juin 15:38 a01.txt
-rw-rw-r--1 démo démo 56 14 juin 14:48 a02.txt
-rw-rw-r--1 démo démo 111 14 juin 14:50 b01.txt
-rw-rw-r--1 démo démo 55 14 juin 14:51 b02.txt
[demo@centos8 test]$

En connectant les commandes avec un tube, vous pouvez entrer les commandes sed et ʻawk`.

2.1. Afficher la nième ligne

Pour afficher la ** 4ème ligne ** du résultat de la commande, vous pouvez l'afficher avec la commande suivante.

ls -la | sed -n 4p

Résultat d'exécution


[demo@centos8 test]$ ls -la | sed -n 4p
-rw-rw-r--1 démo démo 110 14 juin 15:38 a01.txt
[demo@centos8 test]$

ls -la | awk 'NR==4'

Résultat d'exécution


[demo@centos8 test]$ ls -la | awk 'NR==4'
-rw-rw-r--1 démo démo 110 14 juin 15:38 a01.txt
[demo@centos8 test]$

2.2. Afficher les lignes m à n

Pour afficher les ** 4e à 6e lignes ** du résultat de la commande, vous pouvez l'afficher avec la commande suivante.

ls -la | sed -n '4,6p'

Résultat d'exécution


[demo@centos8 test]$ ls -la | sed -n '4,6p'
-rw-rw-r--1 démo démo 110 14 juin 15:38 a01.txt
-rw-rw-r--1 démo démo 56 14 juin 14:48 a02.txt
-rw-rw-r--1 démo démo 111 14 juin 14:50 b01.txt
[demo@centos8 test]$

ls -la | awk 'NR==4,NR==6'

Résultat d'exécution


[demo@centos8 test]$ ls -la | awk 'NR==4,NR==6'
-rw-rw-r--1 démo démo 110 14 juin 15:38 a01.txt
-rw-rw-r--1 démo démo 56 14 juin 14:48 a02.txt
-rw-rw-r--1 démo démo 111 14 juin 14:50 b01.txt
[demo@centos8 test]$

2.3 Afficher m et n lignes

Pour afficher la ** 4ème ligne ** et la ** 6ème ligne ** du résultat de la commande, vous pouvez les afficher avec la commande suivante.

ls -la | awk 'NR==4;NR==6'

Résultat d'exécution


[demo@centos8 test]$ ls -la | awk 'NR==4;NR==6'
-rw-rw-r--1 démo démo 110 14 juin 15:38 a01.txt
-rw-rw-r--1 démo démo 111 14 juin 14:50 b01.txt
[demo@centos8 test]$

2.4. Afficher la nième ligne et les suivantes

Si vous souhaitez afficher tout ** après la ** 4ème ligne du résultat de la commande, vous pouvez l'afficher avec la commande suivante.

`ls -la | tail -n +4'

Résultat d'exécution


[demo@centos8 test]$ ls -la | tail -n +4
-rw-rw-r--1 démo démo 110 14 juin 15:38 a01.txt
-rw-rw-r--1 démo démo 56 14 juin 14:48 a02.txt
-rw-rw-r--1 démo démo 111 14 juin 14:50 b01.txt
-rw-rw-r--1 démo démo 55 14 juin 14:51 b02.txt
[demo@centos8 test]$

ls -la | sed -n '4,$p'

Résultat d'exécution


[demo@centos8 test]$ ls -la | sed -n '4,$p'
-rw-rw-r--1 démo démo 110 14 juin 15:38 a01.txt
-rw-rw-r--1 démo démo 56 14 juin 14:48 a02.txt
-rw-rw-r--1 démo démo 111 14 juin 14:50 b01.txt
-rw-rw-r--1 démo démo 55 14 juin 14:51 b02.txt
[demo@centos8 test]$

ls -la | awk 'NR>=4'

Résultat d'exécution


[demo@centos8 test]$ ls -la | awk 'NR>=4'
-rw-rw-r--1 démo démo 110 14 juin 15:38 a01.txt
-rw-rw-r--1 démo démo 56 14 juin 14:48 a02.txt
-rw-rw-r--1 démo démo 111 14 juin 14:50 b01.txt
-rw-rw-r--1 démo démo 55 14 juin 14:51 b02.txt
[demo@centos8 test]$

c'est tout

Recommended Posts

Comment afficher une ligne spécifiée d'un fichier ou d'un résultat de commande sous Linux (sed, awk)
Comment afficher une colonne de fichiers spécifiée sous Linux (awk)
Comment afficher le résultat de sortie de la commande man Linux dans un fichier
Comment afficher des pictogrammes sur Manjaro Linux
Comment copier et coller le contenu de la ligne de commande avec bash sous Linux ou Mac sans souris
Comment mettre un numéro de ligne au début d'un fichier CSV
Essayez de créer une nouvelle commande sous Linux
# La commande pour vérifier le codage du fichier texte (ISO-2022-JP, Shift_JIS, EUC-JP, UTF-8 ou UTF-16) sous Linux est nkf --guess (oubliez à chaque fois)
Envoyez des notifications sur votre smartphone à partir de la ligne de commande ou du script Linux. (Introduction d'un outil appelé ntfy)
Comment supprimer la chaîne de caractères spécifiée avec la commande sed! !! !!
Comment installer Linux sur un PC UEFI 32 bits
(Rappelez-vous rapidement) Comment utiliser la ligne de commande LINUX
Comment créer un environnement Python sur Amazon Linux 2
Comment afficher la date de modification d'un fichier en langage C jusqu'à nanosecondes
Comment passer des arguments ou des variables d'environnement avec Makefile et faire une commande sur #Linux
Une note sur la façon de préparer facilement un environnement de pratique Linux
Comment exécuter un fichier Python à une invite de commande Windows 10
Comment afficher une liste des versions installables avec pyenv
[Linux] Comment désactiver la mise à jour automatique du fichier /etc/resolv.conf (Redhat)
Comment passer le résultat de l'exécution d'une commande shell dans une liste en Python (version non bloquante)
[sh] Comment stocker les résultats de l'exécution de la commande dans des variables
Sous Linux, l'horodatage d'un fichier est un peu dépassé.
Comment faire une commande pour lire le fichier de paramètres avec pyramide
Comment obtenir une chaîne à partir d'un argument de ligne de commande en python
Comment afficher la résolution PDF et des informations détaillées sur Linux (pdfinfo)
[Linux] Comment désactiver la mise à jour automatique du fichier /etc/resolv.conf (AmazonLinux2)
Une commande pour vérifier facilement la vitesse du réseau sur la console
Achèvement de la commande docker sous Linux
Comment créer un fichier de configuration
Comprendre comment afficher des images sur Jupyter (utilisation de imshow / matplotlib d'OpenCV)
[Linux] Une commande pour obtenir une liste des commandes exécutées dans le passé
Comment dessiner une ligne verticale sur une carte de chaleur dessinée avec Python Seaborn
[Python] Comment lire le fichier csv (méthode read_csv du module pandas)
Comment bien formater une liste de dictionnaires (ou d'instances) en Python
Comment installer aws-session-manager-plugin sur Manajro Linux
[Linux] Comment utiliser la commande echo
Comment calculer Utiliser% de la commande df
Comment mettre à jour PHP sur Amazon Linux 2
Comment installer des packages sur Alpine Linux
Comment mettre à jour la sécurité sur CentOS Linux 8
Comment installer php7.4 sur Linux (Ubuntu)
Comment tester sur une page authentifiée par Django
Une commande pour spécifier un fichier avec un nom spécifique dans un répertoire avec find et mv, cp ou gzip (linux)
Comment trouver des fichiers volumineux sous Linux
Différentes façons de lire la dernière ligne d'un fichier csv en Python
One-liner qui crée un grand nombre de fichiers de test à la fois sous Linux
Comment réaliser quelque chose comme une liste de void * (ou de type de variante) dans Go?
Je souhaite afficher uniquement différentes lignes du fichier texte avec diff
Découvrez comment diviser uniformément un fichier avec un certain nombre de lignes
[Linux] Comment lire .bashrc de l'utilisateur général avec WSL2 Ubuntu20.04 même en tant qu'utilisateur root
LINUX: Comment faire correspondre les touches fléchées à 2,4,6,8 sur des notes sans dix touches
Un mémorandum expliquant comment exécuter la commande magique! Sudo dans Jupyter Notebook
Comment faire un Raspberry Pi qui parle les tweets d'un utilisateur spécifié
linux / c> lien> Obtenir le résultat de l'exécution de la commande shell dans le programme C> On m'a appris à utiliser popen ()
Comment calculer la volatilité d'une marque
[Python] Comment tester l'analyseur de ligne de commande cliquez sur