Ich mag, was der uniq
Der Befehl tut dies, aber er sucht in verschiedenen Zeilen nach Duplikaten. Ich möchte Duplikate sogar innerhalb derselben Zeile finden. Welcher Befehl kann das?
Betrachten Sie this line this this line
, und dass ich vielleicht wissen möchte, wie oft „this“ in derselben Zeile vorkommt.
Gibt es einen Befehl, der das kann?
Akzeptierte Antwort:
Ein anderer Weg mit awk
:
echo "this line this this line"| \
awk 'BEGIN{print "count", "lineNum"}{print gsub(/\<this\>/,"") "\t" NR}'
count lineNum
3 1
-
Welche druckt Anzahl und Zeilennummer in welchem
this
Wort gefunden. -
gsub()
Der Rückgabewert der Funktion ist die Anzahl der vorgenommenen Ersetzungen. Also verwenden wir das, um die Nummer zu drucken. -
NR
enthält die Zeilennummer, damit wir sie verwenden, um die Zeilennummer zu drucken.