Detaillierte Erklärung der Linux-Befehle sort, uniq, tr tools

Detaillierte Erklärung der Linux-Befehle sort, uniq, tr tools

Sortierwerkzeug

Der Linux-Befehl „sort“ wird zum Sortieren des Inhalts von Textdateien verwendet.
Mit Sort kann der Inhalt von Textdateien zeilenweise sortiert werden.

Allgemeine Sortieroptionen

b Ignorieren Sie die Leerzeichen am Anfang jeder Zeile.
-c Überprüft, ob die Dateien der Reihe nach sortiert sind.
-d Verarbeiten Sie beim Sortieren englische Buchstaben, Zahlen und Leerzeichen und ignorieren Sie andere Zeichen.
-f Kleinbuchstaben beim Sortieren als Großbuchstaben behandeln.
-i Beim Sortieren alle Zeichen außer ASCII-Zeichen zwischen 040 und 176 ignorieren.
-m führt mehrere sortierte Dateien zusammen.
-M Sortiert die ersten drei Buchstaben nach der Abkürzung des Monats.
-n Nach numerischem Wert sortieren.
-u bedeutet eindeutig und die Ausgabe wird dedupliziert.
-o<Ausgabedatei> speichert die sortierten Ergebnisse in der angegebenen Datei.
-r In umgekehrter Reihenfolge sortieren.
-t<Trennzeichen> gibt das beim Sortieren verwendete Feldtrennzeichen an.
+<Startfeld>-<Endfeld> Sortiert nach dem angegebenen Feld, vom Startfeld bis zum Feld vor dem Endfeld.
–help Hilfe anzeigen.
–version Versionsinformationen anzeigen

Beispiel für ein Sortiertool

Standard

Standardmäßig sortiert das Sortiertool in alphabetischer Reihenfolge.

[root@1centos ~]# sortieren /etc/passwd
abrt:x:173:173::/etc/abrt:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD-Stapel:/var/run/avahi-daemon:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
chrony:x:992:987::/var/lib/chrony:/sbin/nologin
cockpit-ws:x:990:984:Benutzer für cockpit-ws:/:/sbin/nologin
colord:x:997:994:Benutzer für colord:/var/lib/colord:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
dbus:x:81:81:Systemnachrichtenbus:/:/sbin/nologin
dirsrv:x:988:982:Benutzer für 389-ds-base:/usr/share/dirsrv:/sbin/nologin
dovecot:x:97:97:Dovecot IMAP-Server:/usr/libexec/dovecot:/sbin/nologin
dovenull:x:981:975:Nicht autorisierter Benutzer von Dovecot:/usr/libexec/dovecot:/sbin/nologin
ftp:x:14:50:FTP-Benutzer:/var/ftp:/sbin/nologin
Spiele:x:12:100:Spiele:/usr/Spiele:/sbin/nologin

Sortieren Sie /etc/passwd in umgekehrter Reihenfolge nach der dritten Spalte

Hier ist die Reihenfolge in umgekehrter Zahlenreihenfolge.

[root@1centos ~]# sort -t: -rk 3 /etc/passwd
niemand:x:99:99:Niemand:/:/sbin/nologin
ods:x:999:999:Besitzer privater Softhsm-Schlüssel:/var/lib/softhsm:/sbin/nologin
polkitd:x:998:997:Benutzer für polkitd:/:/sbin/nologin
colord:x:997:994:Benutzer für colord:/var/lib/colord:/sbin/nologin
unbound:x:996:993:Ungebundener DNS-Resolver:/etc/unbound:/sbin/nologin
gluster:x:995:992:GlusterFS-Daemons:/run/gluster:/sbin/nologin
libstoragemgmt:x:994:991:Daemon-Konto für libstoragemgmt:/var/run/lsm:/sbin/nologin
saslauth:x:993:76:Saslauthd-Benutzer:/run/saslauthd:/sbin/nologin
chrony:x:992:987::/var/lib/chrony:/sbin/nologin
geoclue:x:991:985:Benutzer für geoclue:/var/lib/geoclue:/sbin/nologin
cockpit-ws:x:990:984:Benutzer für cockpit-ws:/:/sbin/nologin
sssd:x:989:983:Benutzer für sssd:/:/sbin/nologin
dirsrv:x:988:982:Benutzer für 389-ds-base:/usr/share/dirsrv:/sbin/nologin
setroubleshoot:x:987:981::/var/lib/setroubleshoot:/sbin/nologin
saned:x:986:980:SANE-Scanner-Daemon-Benutzer:/usr/share/sane:/sbin/nologin
gnome-initial-setup:x:985:979::/run/gnome-initial-setup/:/sbin/nologin
pcp:x:984:978:Leistungs-Co-Pilot:/var/lib/pcp:/sbin/nologin
kdcproxy:x:983:977:IPA KDC-Proxy-Benutzer:/:/sbin/nologin
ipaapi:x:982:976:IPA Framework-Benutzer:/:/sbin/nologin
dovenull:x:981:975:Nicht autorisierter Benutzer von Dovecot:/usr/libexec/dovecot:/sbin/nologin
dovecot:x:97:97:Dovecot IMAP-Server:/usr/libexec/dovecot:/sbin/nologin
hsqldb:x:96:96::/var/lib/hsqldb:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
dbus:x:81:81:Systemnachrichtenbus:/:/sbin/nologi
...ausgelassen...

Sortieren Sie die dritte Spalte von /etc/passwd und geben Sie sie in px.txt aus

[root@1centos ~]# sort -t: -k 3 /etc/passwd -o px.txt
[root@1centos ~]# Katze px.txt 
root:x:0:0:root:/root:/bin/bash
xnftp:x:1007:1007::/home/xnftp:/sbin/nologin
vuser:x:1008:1008::/opt/vuser:/sbin/nologin
tom:x:1009:1009::/home/tom:/bin/bash
jerry:x:1010:1010::/home/jerry:/bin/bash
kongkong:x:1011:1011::/home/kongkong:/bin/bash
qemu:x:107:107:qemu-Benutzer:/:/sbin/nologin
Operator:x:11:0:Operator:/root:/sbin/nologin
usbmuxd:x:113:113:usbmuxd-Benutzer:/:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
Spiele:x:12:100:Spiele:/usr/Spiele:/sbin/nologin
ftp:x:14:50:FTP-Benutzer:/var/ftp:/sbin/nologin

einzigartiges Werkzeug

Der Linux-Befehl uniq dient zum Prüfen und Löschen wiederholter Zeilen und Spalten in Textdateien und wird im Allgemeinen in Verbindung mit dem Befehl sort verwendet.

einzigartige allgemeine Optionen

uniq kann eine Textdatei auf wiederholte Zeilen und Spalten überprüfen.
-c oder --count zeigt an, wie oft die Zeile neben jeder Spalte erscheint.
-d oder --repeated zeigt nur wiederholte Zeilen und Spalten an.
-f <Feld> oder --skip-fields=<Feld> Ignoriert die angegebenen Felder beim Vergleich.
-s<Zeichenposition> oder --skip-chars=<Zeichenposition> ignoriert die angegebenen Zeichen beim Vergleich.
-u oder --unique zeigt nur die Zeilen an, die einmal vorkommen.
-w<Zeichenposition> oder --check-chars=<Zeichenposition> gibt die zu vergleichenden Zeichen an.
–help Hilfe anzeigen.
–version Versionsinformationen anzeigen.
[Eingabedatei] Geben Sie die sortierte Textdatei an. Wenn dies nicht angegeben ist, werden die Daten aus dem Standard gelesen;
[Ausgabedatei] Geben Sie die Ausgabedatei an. Wenn diese Option nicht angegeben ist, wird der Inhalt auf dem Standardausgabegerät (Anzeigeterminal) angezeigt.

uniq Tool Beispiele

Sehen Sie sich die Datei the.txt an

[root@1centos zhengzebiaodashi]# Katze die.txt 
1der 2der 3der
1der 2der 3der
1der 2der 3der
1der 2der 3der

1der 2der 3der
2das 2das 3das
3das 2das 3das 4das 5das
4hallo hallo Welt
5 2 3 4 5 6 7 8

Standardsortierung

[root@1centos zhengzebiaodashi]# uniq die.txt
1der 2der 3der

1der 2der 3der
2das 2das 3das
3das 2das 3das 4das 5das
4hallo hallo Welt
5 2 3 4 5 6 7 8

Löschen Sie doppelte Zeilen und zeigen Sie die Anzahl der Vorkommen an

[root@1centos zhengzebiaodashi]# uniq -c die.txt 
   4 1der 2der 3der
   2 
   1 1der 2der 3der
   1 2der 2der 3der
   1 3 die 2 die 3 die 4 die 5 die
   1 4hallo hallo das Wort Welt
   1 5 2 3 4 5 6 7 8

Suchen Sie nach doppelten Zeilen in der Testdatei

[root@1centos zhengzebiaodashi]# uniq -d die.txt 
1der 2der 3der

TR-Werkzeug

Tr ist die Abkürzung für „translate“, was für Übersetzung oder Konvertierung verwendet wird. Insbesondere kann es den Eingabeinhalt (stdin) transformieren oder löschen. Es ist ein unverzichtbares Tool für Linux-Pipelines. Hier sind einige häufige Verwendungen

tr allgemeine Optionen

-c: ersetzt alle Zeichen, die nicht zum ersten Zeichensatz gehören;
-d: löscht alle Zeichen, die zum ersten Zeichensatz gehören;
-s: Aufeinanderfolgende wiederholte Zeichen als einzelnes Zeichen darstellen;
-t: Löscht zuerst die Zeichen im ersten Zeichensatz, die mehr sind als die Zeichen im zweiten Zeichensatz

Beispiel für das TR-Tool mit Echo in Groß- und Kleinbuchstaben

[root@1centos zhengzebiaodashi]# echo "jb51" |tr 'az' 'AZ'
JB51

Ersetzen wiederholter Zeichen in der Ausgabe

[root@1centos zhengzebiaodashi]# echo 'Das ist cdsnnn' |tr -s 'sn'
Das ist cdsn

Löschen von stummen Zeichen in einer Zeichenfolge

[root@1centos zhengzebiaodashi]# echo 'das ist csdn' |tr -d 'th'
ist ist csdn

Sortieren eines Arrays

Mit diesen Tools können Sie das Array einfach in aufsteigender oder absteigender Reihenfolge sortieren.

#!/bin/bash
read -p "Bitte geben Sie Ihr Array ein, getrennt durch Leerzeichen:" a
shuzu=($a)
echo "Ihr Array ist: ${shuzu[*]}"
echo "Array in aufsteigender Reihenfolge ist:"
echo "$a" |tr ' ' '\n' |sort -n |tr '\n' ' '
Echo ''
echo "Array in absteigender Reihenfolge ist:"
echo "$a" |tr ' ' '\n' |sort -nr |tr '\n' ' '
Echo " "

Verwenden

[root@1centos zhengzebiaodashi]# Quelle paixu.sh 
Bitte geben Sie Ihr Array ein, getrennt durch Leerzeichen: 8 1 5 9 7
Ihr Array ist: 8 1 5 9 7
Das Array in aufsteigender Reihenfolge ist:
1 5 7 8 9 
Das Array in absteigender Reihenfolge ist:
9 8 7 5 1

Dies ist das Ende dieses Artikels mit der detaillierten Erklärung der Linux-Befehle sort, uniq und tr tools. Weitere verwandte Linux-Befehle sort, uniq und tr tools finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die verwandten Artikel weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • So verwenden Sie den Linux-Befehl tr
  • Detaillierte Erklärung zur Verwendung des Linux-Befehls Traceroute
  • Der Unterschied und die Verwendung von Strg+z, Strg+c und Strg+d in Linux-Befehlen
  • Trash-Cli: Befehlszeilen-Papierkorb-Tool unter Linux
  • Detaillierte Erklärung des strace-Befehls zum Debuggen von Linux-Anwendungen
  • Detaillierte Erklärung zur Verwendung des Tree-Befehls unter Linux
  • Detaillierte Erklärung des Linux-Shell-Befehls tr
  • Detaillierte Erklärung des Strings-Befehls in Linux
  • Ein Shell-Befehl pro Tag Linux-Textoperationsreihe - ausführliche Erklärung des Tree-Befehls
  • Verwendung des Linux-Befehls tr

<<:  JS realisiert Video-Sperreffekt

>>:  Detaillierte Erklärung der Verwendung und Unterschiede von MySQL-Ansichten und -Indizes

Artikel empfehlen

MySQL-Lösung für die Konfiguration mehrerer Instanzen

1.1 Was ist MySQL Multi-Instance? Einfach ausgedr...

Detaillierte Erklärung zur Erstellung von Schießspielen mit CocosCreator

Inhaltsverzeichnis Szeneneinstellung Spielressour...

Implementierung der Header-Informationen für Nginx-Operationsantworten

Voraussetzung: Sie müssen das Modul ngx_http_head...

Zwei Möglichkeiten, den 30-Sekunden-Werbecode aus dem Youku-Video zu entfernen

Ich glaube, jeder kennt dieses Gefühl: Ein Video m...

Die perfekte Lösung für das MySql-Versionsproblem sql_mode=only_full_group_by

1. Überprüfen Sie sql_mode wählen Sie @@sql_mode ...

Detaillierte Bereitstellung des Alibaba Cloud Servers (grafisches Tutorial)

Ich habe vor Kurzem Front-End- und Back-End-Techn...

js, um eine einfache Produkt-Screening-Funktion zu erreichen

In diesem Artikelbeispiel wird der spezifische JS...

Natives JavaScript zum Erzielen von Folieneffekten

Wenn wir eine Seite erstellen, insbesondere eine ...