Verwenden Sie die -P
Option für Perl Regex mit \K
Direktive in der Regex, die den vorherigen String-Part-Match aus dem Ergebnis ausschließt:
grep -ioP "console\.\K[a-z]+" file.txt log log log log dir log log error log info sendTo error log markTimeline reactStackEnd timeEnd trace warn
Ich habe Ihre Beispielzeilen in file.txt zum Testen abgelegt.
So beschränken Sie sich auf ein eindeutiges Vorkommen:
grep -ioP "console\.\K[a-z]+" file.txt | sort -u dir error info log markTimeline reactStackEnd sendTo timeEnd trace warn
Eine andere Lösungsoption -P
wurde die macOS-Version entfernt10.8
Wenn Sie Perl installiert haben:
perl -nle 'print $1 if /console\.([a-z]+)/' file.txt | sort -u dir error info log mark react time trace warn
Um mit allen Dateien im Verzeichnis zu arbeiten:
perl -nle 'print $1 if /console\.([a-z]+)/' * | sort -u