LINUX.ORG.RU

История изменений

Исправление seiken, (текущая версия) :

Идея такая. Делаешь два прохода (цикла) по файлу. В первом проходе строишь словарь из ид_пользователя -> количество_использований. Во втором проходе смотришь, данный userid в словаре имеет количество, равное 1? Если да, пишешь строку как есть. Если нет, берешь текущее значение счетчика для данного userid, и выводишь строку, заменяя sed’ом оригинальное значение userid. Счетчики можно хранить в заранее созданном втором словаре. Баш поддерживает словари. Вместо sed можно awk использовать, если не хочется геморроиться с регулярквми, передавая awk через внешние переменные значения юзерайди и соотв. счетчика.

Исходная версия seiken, :

Идея такая. Делаешь два прохода (цикла) по файлу. В первом проходе строишь словарь из ид_пользователя -> количество_использований. Во втором проходе смотришь, данный userid в словаре имеет количество, равное 1? Если да, пишешь строку как есть. Если нет, берешь текущее значение счетчика для данного userid, и выводишь строку, заменяя sed’ом оригинальное значение userid. Счетчики можно хранить в заранее созданном втором словаре. Баш поддерживает словари.