So zeigen Sie eine bestimmte Zeile einer Datei oder ein Befehlsergebnis unter Linux an (sed, awk)

Erfahren Sie, wie Sie Linux-Befehle (sed, awk) verwenden, um eine bestimmte Zeile einer Datei oder ein Befehlsergebnis anzuzeigen.

Umgebung

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

1. So zeigen Sie die angegebene Zeile in der Datei an

Es gibt eine Datei (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. N-te Zeile anzeigen

Um die ** 3. Zeile ** der Datei (a01.txt) anzuzeigen, können Sie sie mit dem folgenden Befehl anzeigen.

sed -n 3p a01.txt

Ausführungsergebnis


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

Sie können es auch mit dem folgenden Befehl anzeigen.

awk 'NR==3' a01.txt

Ausführungsergebnis


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

1.2 Anzeigezeilen m bis n

Verwenden Sie den folgenden Befehl, um ** 2. bis 4. Zeile ** anzuzeigen.

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

Ausführungsergebnis


[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]$

Sie können es auch mit dem folgenden Befehl anzeigen.

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

Ausführungsergebnis


[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 Zeigen Sie m und n Zeilen an

Verwenden Sie den folgenden Befehl, um ** 2. Zeile ** und ** 4. Zeile ** anzuzeigen.

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

Ausführungsergebnis


[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. Zeigen Sie die n-te und die nachfolgenden Zeilen an

Wenn Sie ab der zweiten Zeile ** alle ** anzeigen möchten, können Sie dies mit dem folgenden Befehl anzeigen.

tail -n +2 a01.txt

Ausführungsergebnis


[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]$

Sie können es auch mit dem folgenden Befehl anzeigen. sed -n '2,$p' a01.txt

Ausführungsergebnis


[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

Ausführungsergebnis


[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. So zeigen Sie die angegebene Befehlszeile an (mit | (Pipe))

Der Befehl `ls -la' zeigt Folgendes an:

Ausführungsergebnis


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

Durch Verbinden der Befehle mit einer Pipe können Sie die Befehle sed und awk eingeben.

2.1. N-te Zeile anzeigen

Um die ** 4. Zeile ** des Befehlsergebnisses anzuzeigen, können Sie sie mit dem folgenden Befehl anzeigen.

ls -la | sed -n 4p

Ausführungsergebnis


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

ls -la | awk 'NR==4'

Ausführungsergebnis


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

2.2 Anzeigezeilen m bis n

Um die ** 4. bis 6. Zeile ** des Befehlsergebnisses anzuzeigen, können Sie sie mit dem folgenden Befehl anzeigen.

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

Ausführungsergebnis


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

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

Ausführungsergebnis


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

2.3 Zeigen Sie m und n Zeilen an

Um die ** 4. Zeile ** und ** 6. Zeile ** des Befehlsergebnisses anzuzeigen, können Sie sie mit dem folgenden Befehl anzeigen.

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

Ausführungsergebnis


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

2.4. Zeigen Sie die n-te und die nachfolgenden Zeilen an

Wenn Sie alle ** nach der ** 4. Zeile des Befehlsergebnisses anzeigen möchten, können Sie es mit dem folgenden Befehl anzeigen.

`ls -la | tail -n +4'

Ausführungsergebnis


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

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

Ausführungsergebnis


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

ls -la | awk 'NR>=4'

Ausführungsergebnis


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

das ist alles

Recommended Posts

So zeigen Sie eine bestimmte Zeile einer Datei oder ein Befehlsergebnis unter Linux an (sed, awk)
So zeigen Sie eine bestimmte Dateispalte unter Linux an (awk)
So geben Sie das Ausgabeergebnis des Linux-Befehls man in eine Datei aus
So zeigen Sie Piktogramme unter Manjaro Linux an
Kopieren und Einfügen von Befehlszeileninhalten mit bash unter Linux oder Mac ohne Maus
So setzen Sie eine Zeilennummer am Anfang einer CSV-Datei
Versuchen Sie, einen neuen Befehl unter Linux zu erstellen
#Der Befehl zum Nachschlagen der Codierung der Textdatei (ISO-2022-JP, Shift_JIS, EUC-JP, UTF-8 oder UTF-16) unter Linux lautet nkf --guess (jedes Mal vergessen)
Übertragen Sie Benachrichtigungen über die Linux-Befehlszeile oder das Skript auf Ihr Smartphone. (Einführung eines Tools namens ntfy)
So löschen Sie die angegebene Zeichenfolge mit dem Befehl sed! !! !!
So installieren Sie Linux auf einem 32-Bit-UEFI-PC
(Denken Sie schnell daran) Verwendung der LINUX-Befehlszeile
So erstellen Sie eine Python-Umgebung unter Amazon Linux 2
So zeigen Sie das Änderungsdatum einer Datei in C-Sprache bis zu Nanosekunden an
Übergeben von Argumenten oder Umgebungsvariablen mit Makefile und Befehl make unter #Linux
Ein Hinweis zur einfachen Vorbereitung einer Linux-Übungsumgebung
So führen Sie eine Python-Datei an einer Windows 10-Eingabeaufforderung aus
So zeigen Sie eine Liste der mit pyenv installierbaren Versionen an
[Linux] Deaktivieren der automatischen Aktualisierung der Datei /etc/resolv.conf (Redhat)
Übergeben des Ausführungsergebnisses eines Shell-Befehls in einer Liste in Python (nicht blockierende Version)
[sh] Das Speichern der Befehlsausführung führt zu Variablen
Unter Linux ist der Zeitstempel einer Datei etwas vorbei.
So erstellen Sie einen Befehl zum Lesen der Einstellungsdatei mit Pyramide
So erhalten Sie eine Zeichenfolge aus einem Befehlszeilenargument in Python
So zeigen Sie PDF-Auflösung und detaillierte Informationen unter Linux an (pdfinfo)
[Linux] Deaktivieren der automatischen Aktualisierung der Datei /etc/resolv.conf (AmazonLinux2)
Ein Befehl zum einfachen Überprüfen der Netzwerkgeschwindigkeit auf der Konsole
Abschluss des Docker-Befehls unter Linux
So erstellen Sie eine Konfigurationsdatei
Verstehen, wie Bilder auf Jupyter angezeigt werden (Verwendung von imshow / matplotlib von OpenCV)
[Linux] Ein Befehl zum Abrufen einer Liste der in der Vergangenheit ausgeführten Befehle
Wie zeichnet man eine vertikale Linie auf einer Heatmap, die mit Python Seaborn gezeichnet wurde?
[Python] Lesen der CSV-Datei (Methode read_csv des Pandas-Moduls)
So formatieren Sie eine Liste von Wörterbüchern (oder Instanzen) in Python
So installieren Sie das aws-session-manager-Plugin unter Manajro Linux
[Linux] Verwendung des Befehls echo
Berechnen Verwenden Sie% des Befehls df
So aktualisieren Sie PHP unter Amazon Linux 2
So installieren Sie Pakete unter Alpine Linux
So aktualisieren Sie die Sicherheit unter CentOS Linux 8
Wie installiere ich php7.4 unter Linux (Ubuntu)
So testen Sie auf einer von Django authentifizierten Seite
Ein Befehl zum Angeben einer Datei mit einem bestimmten Namen in einem Verzeichnis mit find und mv, cp oder gzip (Linux)
So finden Sie große Dateien unter Linux
Verschiedene Möglichkeiten, die letzte Zeile einer CSV-Datei in Python zu lesen
Einzeiler, der unter Linux eine große Anzahl von Testdateien gleichzeitig erstellt
Wie kann man in Go so etwas wie eine Liste von void * (oder Variantentypen) erreichen?
Ich möchte nur verschiedene Zeilen der Textdatei mit diff anzeigen
Finden Sie heraus, wie Sie eine Datei mit einer bestimmten Anzahl von Zeilen gleichmäßig teilen können
[Linux] Wie man .bashrc eines allgemeinen Benutzers mit WSL2 Ubuntu20.04 auch als Root liest
LINUX: Wie man Pfeiltasten macht, entspricht 2,4,6,8 auf Noten ohne zehn Tasten
Ein Memorandum zur Ausführung des Befehls! Sudo magic in Jupyter Notebook
So erstellen Sie einen Raspberry Pi, der die Tweets eines bestimmten Benutzers spricht
linux / c> link> Ruft das Ausführungsergebnis des Shell-Befehls im C-Programm ab.> Mir wurde beigebracht, wie man popen () verwendet.
So berechnen Sie die Volatilität einer Marke
[Python] So testen Sie den Befehlszeilen-Parser-Klick