Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/40: Рейтинг темы: голосов - 40, средняя оценка - 4.75
 Аватар для Kir@
90 / 58 / 7
Регистрация: 07.02.2010
Сообщений: 732

Удалить всю строку, если в ней найдено определенное слово

02.06.2014, 12:36. Показов 7871. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Есть два слова "Microsoft" и "Apple".
Есть файл , в котором имеются строки:

Средство обновления данных часового пояса для Microsoft Office Outlook
Microsoft Office Proof (Russian) 2010
Citrix Receiver(SSON)
Apple Tunes
Apple forever Русская версия

Как выполнить удаление ВСЕХ строк, в которых встречаются слова "Microsoft" и "Apple"?
Удалить именно строки, а не слова.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.06.2014, 12:36
Ответы с готовыми решениями:

Как удалить строку в случае если в ней содержится определенное слово?
Как удалить строку в случае если в ней содержится определенное слово? Если использовать встроенную функцию поиска-замены, то вопрос: ...

Ввести строку и слово. Удалить слово из строки, если она в ней содержится.
Ввести строку и слово. Удалить слово из строки, если она в ней содержится. вот что получилось: var s: string; l, i, j: integer; ...

Сравнить каждый элемент с каждым, если есть совпадение, то соединить всю строку, в которой найдено совпадение
Доброго времени суток! Есть два массива строк разного размера (элементы массива разделены запятой). Необходимо сравнить каждый элемент с...

10
 Аватар для ComSpec
3463 / 2001 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
02.06.2014, 14:14
Лучший ответ Сообщение было отмечено Kir@ как решение

Решение

Bash
1
@findstr /irv "\<Microsoft\> \<Apple\>" "source.txt">"destination.txt"
4
 Аватар для Kir@
90 / 58 / 7
Регистрация: 07.02.2010
Сообщений: 732
02.06.2014, 15:05  [ТС]
Цитата Сообщение от ComSpec Посмотреть сообщение
Bash
1
@findstr /irv "\<Microsoft\> \<Apple\>" "source.txt">"destination.txt"
Строчка сколько условий принимает? Ограничения какие? У меня 144 фразы на удаление.

Добавлено через 27 минут
Чё-то с синтаксисом напутал, сейчас исправил уже 50 значений, полет нормальный.
0
 Аватар для ComSpec
3463 / 2001 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
02.06.2014, 15:54
Лучший ответ Сообщение было отмечено ComSpec как решение

Решение

Kir@, если будут проблемы с длиной строки, то попробуйте так:
Bash
1
@findstr /irvg:"frases_for_string_deleting.txt" "source.txt">"destination.txt"
, где в файле "frases_for_string_deleting.txt" приведите список ключевых фраз:

Code
1
2
3
4
\<Apple\>
\<Microsoft\>
\<Some frase\>
\<...\>
.


Кстати, если кроме слов в списке действительно присутствуют фразы, то в первом варианте надо писать так:

Bash
1
@findstr /irv /c:"\<Microsoft\>" /c:"\<Apple\>" /c:"\<Some phrase\>" "source.txt">"destination.txt"
.
3
0 / 0 / 0
Регистрация: 19.03.2015
Сообщений: 43
21.03.2015, 08:08
ComSpec, подскажи, пожалуйста, почему в коде два разных названия текстовых файлов? Ведь по условию нужно удалить строки в одном. Или создаётся второй отредактированный?
0
 Аватар для ComSpec
3463 / 2001 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
21.03.2015, 10:32
Лучший ответ Сообщение было отмечено ComSpec как решение

Решение

Hitogui, в коде действительно фигурируют два файла: исходный и изменённый. Это нужно при тестировании кода для удобства сравнения первоначального текста с результатом работы кода и исключения потери исходного содержимого в случае "нештатной ситуации". А заменить исходный файл новым можно всегда, добавив в конец кода (перед "exit/b") строку
Bash
1
>nul move/y "destination.txt" "source.txt"
.

Если же нужно, чтобы в коде фигурировало имя только одного файла, то можно (а если обрабатываемый файл является скрытым и (или) системным и (или) имеет атрибут "Только чтение", то и нужно) использовать такой код:
Bash
1
@for /f "delims=" %%i in ('findstr /irv "\<Microsoft\> \<Apple\>" "source.txt"^& del/a/f "source.txt"') do @echo.%%i>>"source.txt"
.
1
0 / 0 / 0
Регистрация: 19.03.2015
Сообщений: 43
21.03.2015, 17:39
ComSpec, теперь разобрался. Спасибо!

С благодарностью и уважением.
0
0 / 0 / 0
Регистрация: 18.02.2015
Сообщений: 23
05.11.2015, 18:04
Схожая задача и у меня. только вот проблема что если слово приклеено к другому то не удаляет строку..
Мне вот например нееобходимо удалить строку содержащую \\ но они могут быть приклеены к другим символам..
0
 Аватар для ComSpec
3463 / 2001 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
05.11.2015, 18:39
Windows Batch file
1
@<"source.txt">"destination.txt" find/v "\\"
1
0 / 0 / 0
Регистрация: 18.02.2015
Сообщений: 23
05.11.2015, 20:38
Спасибо, а если несколько ключевых слов?
0
 Аватар для ComSpec
3463 / 2001 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
05.11.2015, 21:17
Windows Batch file
1
@<"source.txt">"destination.txt" (find/i /v "word_1"| find/i /v "word_2"| find/i /v "word_3")
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.11.2015, 21:17
Помогаю со студенческими работами здесь

Удалить строку если опеределенная ячейка в ней пуста, если нет - оставить
Добрый день! Подскажите пожалуйста, как сделать: Есть лист excel, в котором находятся данные. Необходимо удалить все строки,...

Найти слово в строке, если найдено - удалить все строки ниже строки с найденным
Есть memo в котором храниться разное кол-во строк. Допустим: 100 строк, найти строку с фразой например АБВГД и если нашел, то удалить все...

Удалить всю строку, если определенная ячейка пустая
Добрый день! Нужен макрос, который будет удалять всю строку, если ячейка в столбце &quot;А&quot; пустая.

Скопировать строку на новый лист, если ячейка содержит определенное СЛОВО в тексте - VBA
Имеется код который копирует строки с определенным значением ячейки. Sub perenos() Dim i&amp; Application.ScreenUpdating = False ...

StringGrid скопировать строку если в ней есть нужное слово
Eсть 2 StringGrid'a, в первом куча записей, второй пустой. Нужно из первого вставить строку во второй(отсеять лишние строки). То есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru