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