GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So lassen Sie `sortieren | Uniq -c` Trennen Sie die Anzahl der Vorkommen durch ein Tabulatorzeichen?

uniq -c trennt die Vorkommensnummer durch Leerzeichen, was für cut schwierig ist oder awk um es später herauszutrennen.

1000_A1\tB1\n
___1_A2\tB2\n

Ich kann dieses Problem mit sed -r 's/^ *([0-9]+)/\1\t/' lösen um das Trennzeichen in Tab zu ändern. Dann cut -f1 könnte zurückgeben:

1000\tA1\tB1\n
1\tA2\tB2\n

Aber es scheint eine übliche Verwendung zu sein, uniq -c zu haben Trennen Sie die Nummer durch Tabulatoren. Warum fehlt diese Funktion? Gibt es eine andere einfachere Möglichkeit, dies zu tun?

Akzeptierte Antwort:

Klingt, als hätten Sie ein Format wie <number><space><field 1 name><tab><field 2 name> , und Sie möchten überprüfen, ob die Eingabe nach field 1 name sortiert ist . Wenn Sie das möchten, entfernen Sie einfach den ersten Zahlenteil und überprüfen Sie die Sortierung des verbleibenden Teils der ersten Spalte:

echo "$input" | sed -r 's/^ *[^ ]+ //' | sort -c -k1,1

Linux
  1. Wie erhöht man die Anzahl der Inodes in einem Ext4-Dateisystem?

  2. Wie zähle ich die Anzahl der Zeilen in einer Datei nach einem Grep-Match?

  3. Wie erhalte ich die Anzahl der CPUs in Linux mit C?

  4. Wie erhalte ich die Anzahl der physischen Festplatten in Linux?

  5. So erhalte ich die Anzeigenummer, die mir von X zugewiesen wurde

So verwenden Sie den Bash-Let-Befehl {mit Beispielen}

So zählen Sie Wortvorkommen in einer Textdatei

So finden Sie die Portnummer eines Dienstes in Linux

So verwenden Sie den Befehl uniq zum Verarbeiten von Listen in Linux

So erhalten Sie die Anzahl der Prozessoren / Kerne in Linux

Wie lösche ich die Zeilennummer in Vim beim Kopieren?