Правильный способ найти VPN-шлюз с помощью скрипта

Вы можете использовать простые команды awk, как показано ниже. Ниже просто реконструируется вся строка {..}1, добавляя к текущей строке $0значение, указывающее количество вхождений слова в файл.

awk '{ $0 = $0 "" ++unique[$0] }1' file

Часть unique[$0]создает хеш-карту -со значением $0в качестве ключа, т.е. unique['H'], unique['O']и т. д. Приращение к ней до -будет увеличивать значение в массиве как unique['H']=1, unique['H']=2и так далее.Мы также можем просто добавить счетчик в конец каждой строки вместо того, чтобы явно -создавать каждую строку

awk '{ print($0 "" ++unique[$0]) }' file

Эквивалентная версия Perl с той же логикой

perl -lpe '{ $_.= ++$unique{$_} }' file

Последнее может быть легко адаптировано к случаям, когда каждый символ не находится в отдельной строке, например:

$ echo ABBC | perl -lpe 's/./$&. ++$unique{$&}/ge'
A1B1B2C1
0
21.10.2020, 22:42
0 ответов

Теги

Похожие вопросы