Некоторые тестовые строки (после первого :space
есть пробел, вы можете увидеть его, если выделите данные мышью):
$ cat file
with :space
with :space too
without :space
test: this
С grep
, sort
и uniq
:
$ grep -o ":[a-z]\+" file | sort | uniq
:space
С awk (ну, gawk и mawk по крайней мере):
$ awk 'BEGIN{RS="[" FS "|" RS "]+"}/:[a-z]/&&!a[$0]++' file
:space
Каждое слово является собственной записью, и мы выбираем первый экземпляр каждого слова, начинающегося с двоеточия. RS="[" FS "|" RS "]+"
может быть написано иначе, но именно в этой форме подчеркивается любая комбинация FS
и RS
.