Рейтинг:0

Использование sed или awk для удаления почти дубликатов

флаг us

В настоящее время я использую следующее, чтобы максимально приблизиться к файлу

вырезать -d ' ' -f 3- /var/log/issues.log | sed -E 's/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1, 3}//г' | сортировать -у

Пока он избавляется от метки времени в начале каждой строки и удаляет IP-адрес.

Однако у меня все еще остались десятки строк формата (ов)

Не удалось войти из-за A
Не удалось войти из-за B
Не удалось войти из-за C
Не удалось войти из-за D
Не удалось войти из-за E
Неверное сердцебиение «А» от 
Недействительное сердцебиение «B» от 
Недействительное сердцебиение «C» от 
Недействительное сердцебиение 'D' от
Недействительное сердцебиение «E» от

Как бы я еще изменил свою команду, чтобы убрать эти «близкие» дубликаты, оставив только. A, B, C, D и E могут быть любой строкой.

Не удалось войти из-за 
Недействительное сердцебиение от 

Спасибо

Nate T avatar
флаг it
Каковы входные данные и какой результат вы пытаетесь получить. Вы можете проверить [U&L]; если у вас распространенный вариант использования, я предполагаю, что кто-то уже спрашивал там
Philippos avatar
флаг cn
Почему бы не добавить `/Failed login from for/d;/Invaild heartbeat.*from/d` в вашу команду `sed`?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.