Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/79: Рейтинг темы: голосов - 79, средняя оценка - 4.66
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705

Как записать исключение определённых строк в шаблоне поиска команды FINDSTR?

22.05.2016, 12:29. Показов 16837. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Друзья!
Есть файл foo.txt:
Nmap 12
Nmap 13
Nmap 125
Nmap 135
Нужно исключить из него строки, которые "Nmap 12" и "Nmap 13"; поехали:

Windows Batch file
1
findstr /V /C:"Nmap 12$" | findstr /V /C:"Nmap 13$" foo.txt
Команда, несомненно, правильная. Действительно, сначала мы ищем подстроку "Nmap 12", которая примыкает к концу строки. Это ТОЛЬКО "Nmap 12", но не "Nmap 125"; "Nmap 12" и исключаем из вывода (/V); те же соображения относительно строки "Nmap 13"

Но мало того, что выводится весь файл, так ещё и команда не заканчивается на этом; то есть новую команду не набрать! Приглашения на ввод новой команды отсутствует и это вообще меня в холодный пот бросает! ЧЯДНТ? Спасибо, кто откликнется.

Добавлено через 22 минуты
А вот тут мне подсказали в соседней теме, что при использовании регулярных выражений нужно использовать ключ /R

Windows Batch file
1
findstr /V /R /C:"Nmap 12$" | findstr /V /R /C:"Nmap 13$" foo.txt
Вывод:
Windows Batch file
1
2
3
Nmap 12
Nmap 125
Nmap 135
Почему Nmap 12 не исключилось из поиска- непонятно. Кроме того, вывод новой команды по-прежнему невозможен!
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.05.2016, 12:29
Ответы с готовыми решениями:

Find или findstr. Задать несколько строк для поиска в одном запросе
Добрый день, программа выводи информация в консоль следующим образом NetworkName: first IP: 10.0.2.1 ...

Как правильно задать исключение определённых OU при поиске в AD?
Коллеги, добрый день. Сделал обработку которая выполняет действие с учеткой пользователя в AD при выполнении заданных условий...

Как сделать исключение при вводе неправильной команды
using System; using System.IO; using System.Diagnostics; using KIROS; using System.Threading; namespace ZIKIRO { ...

3
Любознательный
 Аватар для YuS_2
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
22.05.2016, 13:01
Цитата Сообщение от kravam Посмотреть сообщение
Почему Nmap 12 не исключилось из поиска- непонятно.
а где именно ищем командой:
Цитата Сообщение от kravam Посмотреть сообщение
Windows Batch file
1
findstr /V /C:"Nmap 12$"
? Необходимы данные для команды, т.е. чтобы найти что-нибудь ненужное, надо сначала "купить" что-нибудь ненужное...
Windows Batch file
1
findstr /v /r  /c:"Nmap 13$"  /c:"Nmap 12$" foo.txt
или
Windows Batch file
1
findstr /v /r "13$ 12$" foo.txt
Цитата Сообщение от kravam Посмотреть сообщение
Кроме того, вывод новой команды по-прежнему невозможен!
Видимо, из-за ошибки...
1
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
22.05.2016, 13:03
Windows Batch file
1
findstr /rv /c:"\<Nmap 12\>" /c:"\<Nmap 13\>" foo.txt
1
 Аватар для ComSpec
3463 / 2001 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
22.05.2016, 13:03
Лучший ответ Сообщение было отмечено ComSpec как решение

Решение

1)
Цитата Сообщение от kravam Посмотреть сообщение
А вот тут мне подсказали в соседней теме, что при использовании регулярных выражений нужно использовать ключ /R
.

Угу. Ключ /C: при использовании регулярных выражений должен использоваться в команде совместно с ключом /R в отличие от команды без ключа /C:, в которой шаблон поиска рассматривается по умолчанию как регулярное выражение.

2)
Цитата Сообщение от kravam Посмотреть сообщение
... новую команду не набрать!
Расположение имени файла в строке команд должно быть другим.

Таким образом, будет работать такая команда:
Windows Batch file
1
findstr /R /V /C:"Nmap 12$" foo.txt | findstr /R /V /C:"Nmap 13$"
.

3) Допускается множественное использование ключа /C: с разными поисковыми шаблонами.

Поэтому команду можно записать короче:
Windows Batch file
1
findstr /R /V /C:"Nmap 12$" /C:"Nmap 13$" foo.txt
.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.05.2016, 13:03
Помогаю со студенческими работами здесь

Как записать возвращаемую функцию получения определенных папок?
Получаю папку Temp, и хочу сделать возвращаемую функцию но не получается, как это сделать? const GetFolderTemp() { TCHAR myPath; ...

Форма поиска по БД в шаблоне
Коллеги, здравствуйте! помогите разобраться, не могу написать вьюшку и шаблон, чтобы данные из БД отображались в шаблоне. кусок html с...

Исключение определенных групп из запроса
Привет! Задание из лабораторной: &quot;Включите в созданный пакет процедуру, которая считывает из базы данных информацию о первых двух...

Исключение из string определенных символов
Доброй ночи, очень нужна ваша помощь в таком вопросе... Имеется один стринг, например алфавит: string alphabet =...

как записать результат выполнения консольной команды в массив
Здравствуйте , есть консольная команда , которую я планирую прикрутить к крону. Мне необходимо отпарсить результат её выполнения , что-то...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в конфигурации КА2. Данные берутся из регистра сведений, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru