|
52 / 18 / 11
Регистрация: 27.03.2013
Сообщений: 789
|
|||||||||||||||||
Удаление полностью идентичных (дублирующихся строк) при использовании sed06.07.2017, 16:49. Показов 11850. Ответов 10
Метки нет (Все метки)
Вот исходный текст, перед некоторыми строками используется знак табуляции, а некоторые используют символы пробела.
Обозначу для примера строки со знаком табуляции Кликните здесь для просмотра всего текста
Написал небольшую функцию по удалению похожих строк в конфигурационном файле, но полностью идентичные строки не получается удалить Кликните здесь для просмотра всего текста
Пробовал так
Может ли утилита sed справиться с этой задачей ?
0
|
|||||||||||||||||
| 06.07.2017, 16:49 | |
|
Ответы с готовыми решениями:
10
Удаление дублирующихся строк dataGridView Удаление дублирующихся строк в dataset Сложный запрос на удаление дублирующихся строк |
|
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
|
||||||
| 06.07.2017, 18:58 | ||||||
|
Может, только непонятно чем uniq не угодил?
1
|
||||||
|
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
||
| 07.07.2017, 10:07 | ||
|
0
|
||
|
52 / 18 / 11
Регистрация: 27.03.2013
Сообщений: 789
|
|||
| 07.07.2017, 10:46 [ТС] | |||
|
может ли uniq удалить дубликаты строк непосредственно в проверяемом файле, не меняя структуру файла (не удаляя например пустых строк ), оставляя оригиналы строк на тех местах, где они находятся в файле , тогда покажите пример кода. Я например, нашел только вот такую конструкцию работы uniq uniq имя_файла_входящего имя_файла_выходящего что неподходит. При этом эти строки не всегда идут подряд и могут находится в разных местах документа, большие документы просматривать на наличие дублирующихся строк просматривать неудобно, решил это автоматизировать. использую sed, так как об этой команде немного больше знаю, с ней привычней работать
0
|
|||
|
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
|||||||||||
| 07.07.2017, 12:20 | |||||||||||
\tworkgroup = WORKGROUP vs workgroup= WORKGROUP? Да и вообще в конфиге параметр должен быть в единственном числе: один workgroup=, один samba=, один work= и т.д.
0
|
|||||||||||
|
52 / 18 / 11
Регистрация: 27.03.2013
Сообщений: 789
|
|||||||||||||||||||||||
| 07.07.2017, 14:02 [ТС] | |||||||||||||||||||||||
|
Ну появились там похожие строки, как уже не важно и их нужно убрать, поэтому просто запускаю проверку файла и удаляю не нужное. Есть какой-то стиль форматирования строк в файле, пусть будет так... Под это и пишется обработка строк и соответственно опции, которые добавит сценарий будут в том же стиле форматирования строк и будут добавлены в конфигурационный файл Во время отработки сценария появляются дубликаты строк... (я учусь...) Вручную удалять их или подставлять сценарию новый оригинальный файл нет желания, поэтому и хочу написать обработку, а удаление опций-дубликатов в файле... Да мало ли применений, тем более , что не я 1-й задаю такие вопросы, по поводу дубликата строк, Другое дело что найденные примеры не всегда работают, как например вот этот пример, найденный в сети
Добавлено через 41 минуту Кликните здесь для просмотра всего текста
Он ничего не изменил. Добавлено через 39 минут greg zakharov - предложил такой вариант
- удалить слова, которые сразу от начала строки пишутся - не воспринимает кириллицу - а так же не может найти дубликаты идущие не один за другим (хотя в большей части он нашел) Кликните здесь для просмотра всего текста
Вопрос? /^(.*)\n\1$/ - это, как я понимаю шаблон, по которому ищется вхождение - от начала и до конца строки искать любое количество символов, исключая символ перевода новой строки \1 - 1-я найденная строка , согласно данному шаблону /... \1 / ! ; D - удалить все найденные строки, соответствующие шаблону, кроме 1-й найденной P - Записывает шаблон до первого символа новой строки, на стандартный вывод. N – заглавная N, позволяет вывести номера строк, и символ перевода новой строки \n Но вот такая связка, что означает и для чего $!N - ? !P - ?
0
|
|||||||||||||||||||||||
|
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
|||||||||||||||||
| 07.07.2017, 18:52 | |||||||||||||||||
Для не очень больших файлов можно
0
|
|||||||||||||||||
|
7 / 6 / 4
Регистрация: 21.05.2017
Сообщений: 60
|
||||||
| 24.07.2017, 17:55 | ||||||
|
Выкладываю честно стыренный где-то ранее (где не помню) мною код для удаления одинаковых строк, идущих не подряд.
Я не говорю что он элегантен или короток. Просто он у меня был ![]()
0
|
||||||
|
1 / 1 / 0
Регистрация: 23.07.2013
Сообщений: 72
|
||||||||||||||||
| 15.02.2019, 05:20 | ||||||||||||||||
|
а, как удалить только те строки из файла, которые повторяются больше 4 раз например. Тут можно так?
даже, скорее так
0
|
||||||||||||||||
|
6688 / 2279 / 348
Регистрация: 10.12.2013
Сообщений: 7,888
|
||
| 15.02.2019, 16:14 | ||
|
самые замысловатые сценарии реализуются совершенно житейским( присущим данному редактору) способом.
1
|
||
|
1 / 1 / 0
Регистрация: 23.07.2013
Сообщений: 72
|
|
| 15.02.2019, 17:44 | |
|
Смогу разобраться, наверное, как в экселе или нотпаде удалить дубликаты, но как удалить удалить дубликаты повторяющиеся больше n раз?
0
|
|
| 15.02.2019, 17:44 | |
|
Помогаю со студенческими работами здесь
11
Чтение из массива файлов и удаление дублирующихся строк в каждом файле массива Удаление дублирующихся элементов Удаление дублирующихся значений Удаление дублирующихся гласных из файла Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|