12 Nützliche Befehle zum Filtertext für effektive Dateioperationen unter Linux

12 Nützliche Befehle zum Filtertext für effektive Dateioperationen unter Linux

In diesem Artikel werden wir eine Reihe von Befehlszeilen -Tools überprüfen, die als Filter unter Linux fungieren. A Filter ist ein Programm, das die Standardeingabe liest, einen Betrieb danach ausführt und die Ergebnisse in die Standardausgabe schreibt.

Aus diesem Grund kann es verwendet werden, um Informationen auf leistungsstarke Weise wie Umstrukturierungsausgaben zu verarbeiten, um nützliche Berichte zu generieren, Text in Dateien und viele andere Systemverwaltungsaufgaben zu ändern.

Nachdem dies im Folgenden einige der nützlichen Datei- oder Textfilter unter Linux sind.

1. Awk Befehl

Awk ist eine bemerkenswerte Muster -Scan- und Verarbeitungssprache. Es kann verwendet werden, um nützliche Filter unter Linux zu erstellen. Sie können es verwenden, indem Sie unsere AWK -Serie Teil 1 bis Teil 13 durchlesen.

Darüber hinaus lesen Sie auch die durch die awk MAN -Seite für weitere Informationen und Nutzungsoptionen:

$ MAN AWK 

2. SED -Befehl

sed ist ein leistungsstarker Stream -Editor zum Filtern und Transformieren von Text. Wir haben bereits zwei nützliche Artikel über SED geschrieben, die Sie hier durchgehen können:

  1. So verwenden Sie den Befehl "GNU" SED ", um Dateien unter Linux zu erstellen, zu bearbeiten und zu manipulieren
  2. 15 nützliche "SED" -Schabat -Tipps und Tricks für tägliche Linux -Systemverabreichungsaufgaben

Auf der SED -Man -Seite wurden Kontrolloptionen und Anweisungen hinzugefügt:

$ MAN SED 

3. Grep, Egrep, FGREP, RGREP -Befehle

Diese Filter geben Leitungen aus, die einem bestimmten Muster entsprechen. Sie lesen Zeilen aus einer Datei oder einer Standardeingabe und drucken alle übereinstimmenden Zeilen standardmäßig an die Standardausgabe.

Notiz: Das Hauptprogramm ist Grep, die Variationen sind einfach die gleichen wie die Verwendung spezifischer Grep -Optionen wie unten (und sie werden immer noch für die Rückwärtskompatibilität verwendet):

$ eGrep = grep -e $ fGrep = grep -f $ rgrep = grep -r 

Im Folgenden finden Sie einige grundlegende GREP -Befehle:

[E -Mail geschützt] ~ $ Grep "Aaronkilik" /etc /Passwd Aaronkilik: X: 1001: 1001 ::/Home/Aaronkilik: [E -Mail geschützt] ~ $ Katze /etc /passwd | Grep "Aronkilik" Aaronkilik: X: 1001: 1001 ::/Home/Aaronkilik: 

Sie können mehr über den Unterschied zwischen Grep, EGREP und FGREP unter Linux lesen?.

4. Kopfbefehl

Kopf wird verwendet, um die ersten Teile einer Datei anzuzeigen, und gibt die erste aus 10 standardmäßig Zeilen. Du kannst den ... benutzen -N Num -Flag, um die Anzahl der Zeilen anzugeben, die angezeigt werden sollen:

[E -Mail geschützt] ~ $ Kopf/var/log/auth.Protokoll 2. Januar 10:45:01 Tecmint Cron [3383]: pam_unix (Cron: Sitzung): Sitzung für Benutzerroot geöffnet von (uid = 0) 2. Januar 10:45:01 Tecmint Cron [3383]: PAM_UNIX (CRON: Session) : Sitzung geschlossen für Benutzer root 2. Januar 10:51:34 Tecmint Sudo: Tecmint: tty = unbekannt; Pwd =/home/tecmint; User = root; Befehl =/usr/lib/linuxmint/mintupdate/checkaptaptum.Py 2. Januar 10:51:34 Tecmint Sudo: Pam_unix (sudo: Sitzung): Sitzung für den Benutzer root geöffnet von (uid = 0) 2. Januar 10:51:39 Tecmint sudo: pam_unix (sudo: Sitzung): Sitzung für den Benutzer geschlossen Root 2. Januar 10:55:01 Tecmint Cron [4099]: pam_unix (Cron: Sitzung): Sitzung für Benutzer root geöffnet von (uid = 0) 2. Januar 10:55:01 Tecmint Cron [4099]: Pam_unix (Cron: Session ): Sitzung für den User Root 2. Januar 11:05:01 Tecmint Cron [4138]: Pam_unix (Cron: Sitzung): Sitzung für Benutzerrohne geöffnet von (uid = 0) 2. Januar 11:05:01 Tecmint Cron [4138] : pam_unix (Cron: Sitzung): Sitzung für den User Root 2. Januar 11:09:01 Tecmint Cron [4146]: pam_unix (Cron: Sitzung): Sitzung für Benutzer root geöffnet von (uid = 0) geöffnet von (uid = 0) geöffnet wurde [E -Mail geschützt] ~ $ Kopf -n 5/var/log/auth.Protokoll 2. Januar 10:45:01 Tecmint Cron [3383]: pam_unix (Cron: Sitzung): Sitzung für Benutzerroot geöffnet von (uid = 0) 2. Januar 10:45:01 Tecmint Cron [3383]: PAM_UNIX (CRON: Session) : Sitzung geschlossen für Benutzer root 2. Januar 10:51:34 Tecmint Sudo: Tecmint: tty = unbekannt; Pwd =/home/tecmint; User = root; Befehl =/usr/lib/linuxmint/mintupdate/checkaptaptum.Py 2. Januar 10:51:34 Tecmint Sudo: Pam_unix (sudo: Sitzung): Sitzung für den Benutzer root geöffnet von (uid = 0) 2. Januar 10:51:39 Tecmint sudo: pam_unix (sudo: Sitzung): Sitzung für den Benutzer geschlossen Wurzel 

Erfahren Sie, wie Sie den Kopfbefehl mit Schwanz- und CAT -Befehlen für die effektive Verwendung unter Linux verwenden.

5. Schwanzkommando

Schwanz gibt die letzten Teile aus (10 standardmäßig Zeilen) einer Datei. Verwenden Sie das -N Num Switch, um die Anzahl der zu angezeigten Zeilen anzugeben.

Der folgende Befehl gibt den letzten aus 5 Zeilen der angegebenen Datei:

[E -Mail geschützt] ~ $ Tail -n 5/var/log/auth.Protokoll 6. Januar 13:01:27 Tecmint SSHD [1269]: Server hören auf 0 zu.0.0.0 Port 22. 6. Januar 13:01:27 Tecmint SSHD [1269]: Server hören auf :: port 22. 6. Januar 13:01:27 Tecmint SSHD [1269]: Seufzer; neu starten. 6. Januar 13:01:27 Tecmint SSHD [1269]: Server hören auf 0 zu.0.0.0 Port 22. 6. Januar 13:01:27 Tecmint SSHD [1269]: Server hören auf :: port 22. 

Zusätzlich, Schwanz hat eine besondere Option -F Um Änderungen in einer Datei in Echtzeit anzuschauen (insbesondere Protokolldateien).

Mit dem folgenden Befehl können Sie Änderungen in der angegebenen Datei überwachen:

[E -Mail geschützt] ~ $ Tail -f/var/log/auth.Protokoll 6. Januar 12:58:01 Tecmint SSHD [1269]: Server hören auf :: port 22. 6. Januar 12:58:11 Tecmint SSHD [1269]: Seufzer; neu starten. 6. Januar 12:58:12 Tecmint SSHD [1269]: Server hören auf 0 zu.0.0.0 Port 22. 6. Januar 12:58:12 Tecmint SSHD [1269]: Server hören auf :: port 22. 6. Januar 13:01:27 Tecmint SSHD [1269]: Seufzer; neu starten. 6. Januar 13:01:27 Tecmint SSHD [1269]: Server hören auf 0 zu.0.0.0 Port 22. 6. Januar 13:01:27 Tecmint SSHD [1269]: Server hören auf :: port 22. 6. Januar 13:01:27 Tecmint SSHD [1269]: Seufzer; neu starten. 6. Januar 13:01:27 Tecmint SSHD [1269]: Server hören auf 0 zu.0.0.0 Port 22. 6. Januar 13:01:27 Tecmint SSHD [1269]: Server hören auf :: port 22. 

Lesen Sie durch das Schwanz Mannseite für eine vollständige Liste der Nutzungsoptionen und -anweisungen:

$ MAN Schwanz 

6. Befehl sortieren

Sortieren wird verwendet, um Zeilen einer Textdatei oder aus Standardeingaben zu sortieren.

Im Folgenden finden Sie den Inhalt einer Datei namens Domänen.Liste:

[E -Mail geschützt] ~ $ Katzendomänen.Liste Tecmint.Com Tecmint.com Nachrichten.Tecmint.com Nachrichten.Tecmint.com Linuxsay.com Linuxsay.com Windowsmint.com Windowsmint.com 

Sie können einen einfachen Sortierbefehl ausführen, um den Dateiinhalt wie SO zu sortieren:

[E -Mail geschützt] ~ $ Sortieren Sie Domänen.Liste LinuxSay.com Linuxsay.com Nachrichten.Tecmint.com Nachrichten.Tecmint.Com Tecmint.Com Tecmint.com Windowsmint.com Windowsmint.com 

Sie können verwenden Sortieren Befehlen Sie in vielerlei Hinsicht einige der nützlichen Artikel über Sortierbefehl wie folgt:

  1. 14 nützliche Beispiele für Linux 'Sort' -Befehl - Teil 1
  2. 7 interessante Linux 'Sort' -Befehlsbeispiele - Teil 2
  3. So finden und sortieren Sie Dateien basierend auf dem Änderungsdatum und der Uhrzeit
  4. So sortieren Sie die Ausgabe des Befehls 'ls' nach zuletzt geänderter Datum und Uhrzeit

7. UNIQ -Befehl

Uniq Der Befehl wird verwendet, um wiederholte Zeilen zu melden oder wegzulassen. Er filtert Zeilen von der Standardeingabe und schreibt das Ergebnis in die Standardausgabe.

Nach dem Rennen Sortieren Auf einem Eingangsstrom können Sie wiederholte Linien mit entfernen Uniq Wie im folgenden Beispiel.

Verwenden Sie die Anzahl der Vorkommen einer Linie -C Option und ignorieren Sie Unterschiede in den Fall, während Sie verglichen werden, indem Sie die einbeziehen -ich Möglichkeit:

[E -Mail geschützt] ~ $ Katzendomänen.Liste Tecmint.Com Tecmint.com Nachrichten.Tecmint.com Nachrichten.Tecmint.com Linuxsay.com Linuxsay.com Windowsmint.com [E -Mail geschützt] ~ $ Sortieren Sie Domänen.Liste | Uniq -c 2 Linuxsay.com 2 Nachrichten.Tecmint.Com 2 Tecmint.Com 1 Windowsmint.com 

Lesen Sie durch das Uniq MAN -Seite für weitere Nutzungsinformationen und Flaggen:

$ MAN UNIQ 

8. FMT -Befehl

fmt Einfache optimale Textformatierer, es formatiert Absätze in der angegebenen Datei und druckt Ergebnisse auf die Standardausgabe aus.

Das Folgende ist der aus der Datei extrahierte Inhalt Domänenliste.txt:

1.Tecmint.com 2.Nachricht.Tecmint.com 3.LinuxSay.com 4.Windowsmint.com 

Um den oben genannten Inhalt in eine Standardliste neu format, führen Sie den folgenden Befehl mit mit -w Der Schalter wird verwendet, um die maximale Leitungsbreite zu definieren:

[E -Mail geschützt] ~ $ Katzendomänenliste.txt 1.Tecmint.com 2.Nachricht.Tecmint.com 3.LinuxSay.com 4.Windowsmint.com [E -Mail geschützt] ~ $ FMT -W 1 Domänenliste.txt 1.Tecmint.com 2.Nachricht.Tecmint.com 3.LinuxSay.com 4.Windowsmint.com 

9. PR -Befehl

pr Der Befehl konvertiert Textdateien oder Standardeingaben zum Drucken. Zum Beispiel auf Debian Systeme können Sie alle installierten Pakete wie folgt auflisten:

$ dpkg -l 

Um die Liste in Seiten und Spalten zu organisieren, die zum Drucken bereit sind, geben Sie den folgenden Befehl aus.

[E -Mail geschützt] ~ $ dpkg -l | PR -Säulen 3 -l 20 2017-01-06 13:19 Seite 1 Wünscht = unbekannt/Install II Adduser II APG | Status = nicht/inst/conf-ii adwaita-icon-themen-ii App-Installation-Daten |/er?= (none)/ reinst-R II Adwaita-icon-theme-ii-Apparmor ||/ Name II Alsa-Base II APT +++-============================== II ALSA-UTILS II APT-CLONE II ACOSService II Anacron II APT-transport-https II ACL II Apache2 II APT-UTILS II ACPI-SUPPORT II APache2-BIN II APT-XAPIAN-INNINDEX II ACPID II APache2-DATA II aptdaemon II add -APT-Key II Apache2-Utils II Aptdaemon-Data 2017-01-06 13:19 Seite 2 II Aptitude II Avahi-Daemon II Bind II Apturl-common II Banshee II Bison II Erzdetekt-Deb II Baobab II BLT II Aspell II Basis-Files II Blueberry II Aspell-en II BASE-PASSWD II Bluetooth II At-SPI2-CORE II BASH II BLUAZ II ATTIM ATTRETTION II Bluez-Cups II Avahi-autoipd II BC II Bluez-Obsexd… 

Die hier verwendeten Flaggen sind:

  1. --Spalte Definiert die Anzahl der in der Ausgabe erstellten Spalten.
  2. -l Gibt die Seitenlänge an (Standardeinstellung beträgt 66 Zeilen).

10. TR -Befehl

Dieses Tool übersetzt oder löscht Zeichen aus Standardeingaben und schreibt Ergebnisse in die Standardausgabe.

Die Syntax für die Verwendung tr ist wie folgt:

$ troptions set1 set2 

Schauen Sie sich die folgenden Beispiele im ersten Befehl an, set1 ([: obere:]) repräsentiert den Fall von Eingabezeichen (alle oberen Fall).

Dann set2 ([: niedriger:]) repräsentiert den Fall, in dem die resultierenden Zeichen sein werden. Es ist das gleiche im zweiten Beispiel und in der Fluchtsequenz \N bedeutet Druckausgabe auf einer neuen Zeile:

[E -Mail geschützt] ~ $ echo "www.Tecmint.Com "| tr [: obere:] [: unter:] www.Tecmint.com [E -Mail geschützt] ~ $ Echo "Nachrichten.Tecmint.com "| tr [: unter:] [: obere:] NACHRICHT.Tecmint.Com 

11. mehr Befehl

mehr Der Befehl ist ein nützlicher Datei -Perusal -Filter, der grundsätzlich für die Zertifikatansicht erstellt wurde. Es wird Dateiinhalte in einer Seite wie Format angezeigt, in der Benutzer drücken können [Eingeben] Weitere Informationen anzeigen.

Sie können es verwenden, um große Dateien wie SO anzuzeigen:

[E -Mail geschützt] ~ $ dmesg | mehr [0.000000] Initialisieren von CGroup Subsys CPUSET [0.000000] Initialisierung der CGGroup -Subsys CPU [0.000000] Initialisieren von CGroup Subsys CPUACCT [0.000000] Linux Version 4.4.0-21-generisch ([E-Mail geschützt]) (GCC Version 5.3.1 20160413 (Ubuntu 5.3.1-14UBUNTU2)) #37-UBUNTU SMP MON 18 Apr 18 18:33:37 UTC 2016 (Ubuntu 4.4.0-21.37-generisch 4.4.6) [0.000000] Befehlszeile: boot_image =/boot/vmlinuz-4.4.0-21-Generic Root = UUID = BB29DDA3-BDAA-4B39-86CF-4A6DC9634A1B RO RUTS SLUTH VT VT VT.Übergabe = 7 [0.000000] Kernel unterstützte CPUs: [0.000000] Intel echtintelintel [0.000000] AMD Authenticamd [0.000000] Centaur Centaurhauls [0.000000] x86/fpu: xstate_offset [2]: 576, xstate_sies [2]: 256 [0).000000] x86/fpu: unterstützende XSAVE -Funktion 0x01: 'x87 Floating Point Registers' [0.000000] x86/fpu: unterstützende XSAVE -Funktion 0x02: 'SSE Register' [0.000000] x86/fpu: unterstützende XSAVE -Funktion 0x04: 'Avx Register' [0.000000] x86/FPU: Aktivierte XState -Funktionen 0x7, Kontextgröße beträgt 832 Bytes, im Verwendung des Standardformats "Standard". [0.000000] x86/FPU: Verwenden von "Eifrig" FPU -Kontextschalter. [0.000000] E820: BIOS-bereitgestellter physischer RAM-Karte: [0.000000] BIOS-E820: [MEM 0x00000000000000-0x0000000009D3FF] Usable [0 0).000000] BIOS-E820: [MEM 0x0000000009D400-0X0000000009FFFF] Reserviert [0.000000] BIOS-E820: [Mem 0x000000000e0000-0x000000000FFFFF] Reserviert [0.000000] BIOS-E820: [MEM 0x0000000000100000-0x000000A56AFFFF] Usable [0 0).000000] BIOS-E820: [MEM 0x00000000A56B0000-0X00000000A5EAFFFF] Reserviert [0.000000] BIOS-E820: [MEM 0x00000000A5EB0000-0x00000000AAAABEFF] Nutzbar --Mehr-- 

12. weniger Befehl

weniger ist das Gegenteil von mehr Befehl oben, aber es bietet zusätzliche Funktionen und es ist ein wenig schneller mit großen Dateien.

Verwenden Sie es genauso wie mehr:

[E -Mail geschützt] ~ $ dmesg | weniger [0.000000] Initialisieren von CGroup Subsys CPUSET [0.000000] Initialisierung der CGGroup -Subsys CPU [0.000000] Initialisieren von CGroup Subsys CPUACCT [0.000000] Linux Version 4.4.0-21-generisch ([E-Mail geschützt]) (GCC Version 5.3.1 20160413 (Ubuntu 5.3.1-14UBUNTU2)) #37-UBUNTU SMP MON 18 Apr 18 18:33:37 UTC 2016 (Ubuntu 4.4.0-21.37-generisch 4.4.6) [0.000000] Befehlszeile: boot_image =/boot/vmlinuz-4.4.0-21-Generic Root = UUID = BB29DDA3-BDAA-4B39-86CF-4A6DC9634A1B RO RUTS SLUTH VT VT VT.Übergabe = 7 [0.000000] Kernel unterstützte CPUs: [0.000000] Intel echtintelintel [0.000000] AMD Authenticamd [0.000000] Centaur Centaurhauls [0.000000] x86/fpu: xstate_offset [2]: 576, xstate_sies [2]: 256 [0).000000] x86/fpu: unterstützende XSAVE -Funktion 0x01: 'x87 Floating Point Registers' [0.000000] x86/fpu: unterstützende XSAVE -Funktion 0x02: 'SSE Register' [0.000000] x86/fpu: unterstützende XSAVE -Funktion 0x04: 'Avx Register' [0.000000] x86/FPU: Aktivierte XState -Funktionen 0x7, Kontextgröße beträgt 832 Bytes, im Verwendung des Standardformats "Standard". [0.000000] x86/FPU: Verwenden von "Eifrig" FPU -Kontextschalter. [0.000000] E820: BIOS-bereitgestellter physischer RAM-Karte: [0.000000] BIOS-E820: [MEM 0x00000000000000-0x0000000009D3FF] Usable [0 0).000000] BIOS-E820: [MEM 0x0000000009D400-0X0000000009FFFF] Reserviert [0.000000] BIOS-E820: [Mem 0x000000000e0000-0x000000000FFFFF] Reserviert [0.000000] BIOS-E820: [MEM 0x0000000000100000-0x000000A56AFFFF] Usable [0 0).000000] BIOS-E820: [MEM 0x00000000A56B0000-0X00000000A5EAFFFF] Reserviert [0.000000] BIOS-E820: [MEM 0x000000A5EB0000-0X00000000AAAABEFFF] Nutzbar: 

Erfahren Sie, warum "weniger" schneller als "More" für eine effektive Dateinavigation unter Linux ist.

Lassen Sie uns vorerst über den hier nicht erwähnten nützlichen Befehlszeilen -Tools wissen, die als Textfilter unter Linux über den folgenden Kommentarbereich fungieren.