Da Sie die Frage mit awk getaggt haben, kennen Sie sie wahrscheinlich auf einer bestimmten Ebene. Sie wissen zum Beispiel, dass Sie das Feldtrennzeichen in der Befehlszeile (und anderswo) auf eine Reihe von Zeichen setzen können, z. B. -F '[? & ] ' .
Möglicherweise wissen Sie auch, dass die NF- Variable die Anzahl der Felder enthält, die im aktuellen Eingabesatz (Zeile) analysiert werden, und Sie können eine Schleife zwischen 2 und NF mit einem C-Stil für (...; ...; ... ), um das Feld foo = xxx zu finden .
Und das Beste, was Sie hier tun können, ist das assoziative Array von awk (in anderen Kontexten als Dictionary oder Hash oder Map bezeichnet), in dem Sie einen Wert im Index speichern und prüfen können, ob ein Wert bereits als Index und im Array enthalten ist Entscheidungen entsprechend treffen. Sowie:
if ( ! (value in myarray) ) { print thelinevalueisfrom myarray[value] = 1 # just to register we have seen value for later usage }
Im Grunde ist dies alles, was Sie hier brauchen.