Аналог curl для окон

Обновлено: 21.11.2024

Netcat, curl и socat для WebSockets.

Подключиться к общедоступному эхо-серверу

Обслуживать и подключать

Открыть вкладку в Chromium с помощью удаленной отладки.

Прокси-подключения TCP к подключениям WebSocket и обратно.

Передавать все сообщения между подключенными клиентами WebSocket

Дополнительные примеры см. на moreexamples.md.

  • Подключение и обслуживание веб-сокетов из командной строки.
  • Выполнение внешней программы и ее взаимодействие с WebSocket с помощью стандартного ввода/стандартного вывода.
  • Текстовый и двоичный режимы, преобразование между строками (или записями, заканчивающимися нулем) и сообщениями.
  • Режим Inetd, сокеты UNIX (включая абстрактное пространство имен в Linux).
  • Интеграция с Nginx с использованием сокетов TCP или UNIX.
  • Непосредственное использование серверов SOCKS5, не прошедших проверку подлинности, для подключения к веб-сокетам и прослушивания соединения с веб-сокетами.
  • Режимы автоматического повторного подключения и повторного использования подключения.
  • Поддержка Linux, Windows и Mac со встроенными исполняемыми файлами.
  • Низкоуровневые клиенты и серверы WebSocket с переопределяемым базовым транспортным соединением, например. вызов внешней программы для использования в качестве транспорта для websocat (для SSL, проксирования и т. д.).
Версии Websocat Минимальная версия Rust
1.9 1,48
1,6 - 1,8 1,34
1,3 - 1,5 1,31
1,2 1,28
1,0-1,1 1,23< /td>

Существует несколько вариантов установки WebSocat. От простого к сложному:

  • Если вы используете Linux Debian или Ubuntu (или другую систему на основе dpkg), попробуйте загрузить предварительный сборочный пакет deb из выпусков GitHub и установить из графического интерфейса или с помощью команды, например gdebi websocat_. _.deb
  • Если вы используете Fedora, вы можете установить WebSocat из Copr: sudo dnf copr enable atim/websocat -y && sudo dnf install websocat
  • Если вы используете FreeBSD, вы можете установить WebSocat с помощью следующей команды: pkg install websocat .
  • Если вы используете macOS, вы можете сделать следующее:
    • brew установить websocat с помощью Homebrew
    • sudo port установить websocat с помощью MacPorts

    Архив Pkcs12 необходим для приема SSL-соединений, сертификата и ключа. Команда для его вывода: openssl pkcs12 -export -out output.pkcs12 -inkey key.pem -in cert.pem Используйте с параметром -s (--server-mode) или с указанными вручную оверлеями TLS. См. moreexamples.md для получения дополнительной информации. --pkcs12-пароль

    Предварительно собранные бинарные файлы для Linux (обычный и musl), Windows, OS X и Android доступны на странице релизов.

    Сборка из исходного кода

    1. Установите набор инструментов Rust
    2. cargo build --release --features=ssl .
    3. Найдите исполняемый файл где-нибудь в target/ , например. в target/release/websocat .

    Или просто используйте параметр --insecure.

    Существует незавершенный справочный документ, содержащий дополнительные параметры и примеры.

    • Поддерживается IPv6. Ваш IP-адрес следует заключить в квадратные скобки или использовать как есть, в зависимости от контекста.
    • Использование веб-сокетов не обязательно, вы можете использовать любые спецификации с обеих сторон.
    • Обычно одна строка в двоичном потоке соответствует одному текстовому сообщению WebSocket. Это можно настроить с помощью параметров.

    О нас

    Клиент командной строки для WebSockets, например netcat (или curl) для ws:// с расширенными функциями, подобными socat

    Основные отличия, как я (Дэниел Стенберг) их вижу. Пожалуйста, примите во внимание мою предвзятость в отношении curl, поскольку, в конце концов, curl — это мое детище, но я также вношу свой вклад в Wget.

    Пожалуйста, дайте мне знать, если у вас есть другие мысли или комментарии по этому документу.

    Сообщайте о проблемах с файлами или пулл-реквестах, если вы обнаружите проблемы или у вас есть улучшения.

    Что делают обе команды

    библиотека: curl основан на libcurl — кросс-платформенной библиотеке со стабильным API, которую может использовать каждый. Это различие является существенным, поскольку оно создает совершенно иное отношение к тому, как делать что-то внутри. Также немного сложнее создать библиотеку, чем «просто» инструмент командной строки.

    трубы. curl работает больше как традиционная команда Unix cat, она отправляет больше данных на стандартный вывод и больше читает из стандартного ввода в манере «все является каналом». Wget больше похож на cp, используя тот же аналог.

    Одиночный выстрел: curl в основном предназначен для однократной передачи данных. Он передает только те URL-адреса, которые указывает пользователь, и не содержит никакой рекурсивной логики загрузки или какого-либо парсера HTML.

    Более портативный: curl собирается и работает на гораздо большем количестве платформ, чем wget. Например: OS/400, TPF и другие более «экзотические» платформы, которые не являются простыми клонами Unix. Для curl требуется только компилятор C89.

    Дополнительные библиотеки SSL и поддержка SSL: curl может быть собран с одной из тринадцати (13!) различных библиотек SSL/TLS, а также обеспечивает больший контроль и более широкую поддержку сведений о протоколе.

    SOCKS: curl поддерживает SOCKS4 и SOCKS5 для доступа через прокси. С локальным или прокси-разрешением имен.

    curl поддерживает gzip, brotli, zstd и deflate Content-Encoding и выполняет автоматическую распаковку.

    curl выполняет подключение с двойным стеком (IPv4 + IPv6) с использованием Happy Eyeballs

    curl может выполнять много передач параллельно ( -Z ).

    curl предустановлен на macOS и Windows 10. Wget — нет.

    Wget — это только командная строка. Библиотеки нет.

    Рекурсивность! Главной сильной стороной Wget по сравнению с curl является его способность рекурсивно загружать или даже просто загружать все, что упоминается с удаленного ресурса, будь то HTML-страница или FTP-каталог. список.

    Старые: Wget восходит к своему предшественнику с 9 января 1996 года, а curl можно отследить не ранее 11 ноября 1996 года.

    GPL: Wget — это GPL v3. curl имеет лицензию MIT.

    GNU: Wget является частью проекта GNU, и все авторские права принадлежат FSF. Проект curl полностью автономный и независимый, без какой-либо родительской организации, почти все авторские права принадлежат Дэниелу.

    Wget не требует никаких дополнительных параметров, чтобы просто загрузить удаленный URL-адрес в локальный файл, а curl требует -o или -O.

    Wget поддерживает только GnuTLS или OpenSSL для поддержки SSL/TLS.

    Wget не поддерживает SOCKS.

    Его способность восстанавливаться после преждевременного прерывания передачи и продолжать загрузку не имеет аналогов в curl.

    Wget по-прежнему поддерживает металинк, curl отказался от этой поддержки из соображений безопасности

    В BusyBox есть "wget", там нет curl (это не настоящий wget, а просто урезанный клон с тем же именем).

    Wget можно набирать только левой рукой на qwerty-клавиатуре!

    Wget требует компилятора C99, а также использует gnulib.

    В первую очередь: используйте тот, который сделает всю работу за вас.

    Wget имеет (рекурсивные) возможности загрузки, которых нет у curl, а также обрабатывает повторные попытки загрузки через ненадежные соединения, возможно, немного более эффективно.

    Практически для всего остального более подходящим инструментом является curl.

    В последние годы wget2 разрабатывается как замена wget. Это сравнение, в конечном счете, также позволит получить информацию о wget2.

    Два других мощных инструмента с аналогичным набором функций включают aria2 и axel — попробуйте их!

    Для более строгого сравнения функций (которое также сравнивает другие подобные инструменты) см. таблицу сравнения завитков

    Закрыто. Этот вопрос не соответствует правилам переполнения стека. В настоящее время ответы не принимаются.

    Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме Stack Overflow.

    Закрыт 3 месяца назад.

    Сообщество рассматривало возможность повторного открытия этого вопроса 3 месяца назад и оставило его закрытым:

    Первоначальные причины закрытия не были устранены

    У меня возникли проблемы с запуском cURL в Windows.

    Я скачал отсюда zip-файл cURL, но, похоже, он содержит исходный код, а не исполняемый файл.

    Нужно ли мне нужно компилировать cURL для его запуска? Если да, то как мне это сделать?

    Где я могу найти файлы для загрузки .exe для cURL?

    Я искал документацию по установке cURL, но ничего не нашел.

    В Windows 10 сборки 1803 (выпущенной в начале мая 2018 г.) curl не устанавливается. Он находится прямо в C:\Windows\System32! Смотрите мой ответ ниже.

    @VonC вы знаете, как отключить встроенную версию и запустить более новую версию? Версия Microsoft не поддерживает sftp.

    23 ответа 23

    Возможно, вам не нужно ничего скачивать:

    Если вы используете Windows 10 версии 1803 или более поздней, ваша ОС поставляется с копией curl, уже настроенной и готовой к использованию.

    Просто добавьте указанный выше путь в PATH .

    Если вы уже используете диспетчер пакетов, может быть удобнее установить его:

    • Для Chocolatey запустите choco install curl
    • Для MSYS2 запустите pacman -S curl
    • Для Scoop запустите scoop install curl
    • Для Cygwin добавьте пакет curl в программу установки Cygwin. РЕДАКТИРОВАТЬ читателем: дизайн установщика Cygwin изменился, пожалуйста, выберите пакеты curl следующим образом:

    Скачивание curl

    Слишком легко случайно загрузить не то. Если на главной странице curl щелкнуть большой и заметный раздел «Загрузить» в заголовке сайта, а затем большой и заметный curl-7.62.0.tar.gz в его теле, вы загрузите исходный пакет curl, который содержит исходный код curl, но не curl.exe . Будьте осторожны.

    Вместо этого щелкните большие и заметные ссылки для скачивания на этой странице. Это официальные сборки Windows, предоставляемые проектом curl-for-win.

    Если у вас есть более эзотерические потребности (например, вам нужны сборки cygwin, сторонние сборки, libcurl, заголовочные файлы, исходники и т. д.), используйте мастер загрузки curl. После ответа на пять вопросов вам будет представлен список ссылок для скачивания.

    Извлечение и настройка curl

    Найдите curl.exe в загруженном пакете; это, вероятно, под bin\ .

    Выберите место на жестком диске, которое будет служить постоянным домом для curl:

    • Если вы хотите выделить для curl отдельную папку, подойдет C:\Program Files\curl\ или C:\curl\.
    • Если у вас много свободных исполняемых файлов и вы не хотите добавлять много отдельных папок в PATH , используйте для этой цели одну папку, например C:\Program Files\tools\ или C:\tools\.

    Поместите curl.exe в папку. И никогда не перемещайте папку или ее содержимое.

    Далее вам нужно сделать curl доступным из командной строки из любого места. Для этого добавьте папку в PATH , например:

    1. Нажмите на меню "Пуск" Windows 10. Начните вводить слово "окружающая среда".
    2. Вы увидите результат поиска. Отредактируйте системные переменные среды. Выберите его.
    3. Откроется окно «Свойства системы». Нажмите кнопку "Переменные среды" внизу.
    4. Выберите переменную «Путь» в разделе «Системные переменные» (нижнее поле). Нажмите кнопку "Изменить".
    5. Нажмите кнопку "Добавить" и вставьте путь к папке, в которой находится curl.exe.
    6. При необходимости нажмите OK. Закройте открытые окна консоли и снова откройте их, чтобы они получили новый PATH .

    Теперь наслаждайтесь вводом curl в любой командной строке. Время вечеринки!

    Спасибо. Кроме того, моя установка Curl для Win64 добавила его в переменную PATH, поэтому простая установка сделает его доступным в командной строке. Нет необходимости копировать в %windir%. Он также будет доступен в Powershell

    Очень просто: нужно скачать отсюда, установить одним щелчком мыши и настроить, следуя этому руководству.

    Пожалуйста, прочитайте комментарий Даниэля к другому ответу. Это ужасный способ помещать вещи в окна или системные каталоги, в то время как есть гораздо более цивилизованный способ. Не загрязняйте вашу установку Windows, а используйте переменную PATH, это то, для чего она предназначена в любом случае.

    Что значит скопировать в %windir%, а там вроде не exe а файлы другого формата, спасибо.

    Я взял curl.exe от "Marc Hörsken". Нужный нам curl.exe находится в папке src. Src является исходным кодом. Странный. Могу ли я доверять этим исполняемым файлам?

    Был ли там файл curl.exe? Запустите это. В качестве альтернативы скопируйте файл curl.exe и все файлы с расширением .dll в каталог, включенный в переменную среды PATH (или добавьте каталог, в котором находятся файлы curl.exe и .dll, в среду PATH), и вы не нужно будет вводить полный путь к curl.exe, чтобы запустить его.

    @theglauber, вопрос "где этот curl.exe"? Я скачал .tar.gz , распаковал zip и никакого curl.exe нет .

    Яш, ты наверное скачал архив с исходниками. Посмотрите ниже на странице загрузки, в разделе "пакеты" найдите раздел для 32- или 64-битной Windows (win32 - универсальный или win64 - универсальный)

    1. Скачать ZIP-архив
    2. Извлеките содержимое (если вы загрузили правильную версию, вы должны найти curl.exe)
    3. Поместите curl.exe в папку, в которой хранится ваше программное обеспечение (например, D:\software\curl\curl.exe)

    Чтобы запустить curl из командной строки

    a) Щелкните правой кнопкой мыши значок "Мой компьютер"

    b) Выберите свойства

    c) Нажмите ссылку "Дополнительные параметры системы"

    d) Перейдите на вкладку [Дополнительно] - кнопка "Переменные среды"

    e) В разделе Системная переменная выберите "Путь" и кнопку "Изменить"

    f) Добавьте точку с запятой и путь к файлу curl.exe (например, ;D:\software\curl)

    Теперь вы можете запустить из командной строки, набрав:

    Спасибо за предложение Переменные среды, я специально искал, как создать постоянный псевдоним командной строки для curl

    Начиная с Windows 10 версии 1803 (и более ранней, с инсайдерской сборкой 17063), вы больше не устанавливаете curl. Windows включает родной curl.exe (и tar.exe ) в C:\Windows\System32\ , к которому вы можете получить доступ прямо из обычного CMD .

    Привет, @VonC. Как вы сказали, он находится в C:\Windows\System32\curl.exe в моей системе.Но если я хочу использовать его в своем конвейере сервера TFS с задачей «cURL» — он показывает ошибку, поскольку требуемый завиток отсутствует в агенте сборки. Я перезапустил агент vsts, но не повезло. я что-то пропустил?

    @DarshanaPatel Можете ли вы попросить своего агента распечатать его переменную среды %PATH%? Кроме того, каково точное сообщение об ошибке?

    Просто имейте в виду, что Microsoft, похоже, не обновляет curl, поэтому вам все равно следует использовать последнюю версию со всеми исправлениями и исправлениями безопасности.

    Кто-нибудь знает, есть ли у Microsoft возможность отключить его, как для telnet. Находясь в System32, версия Microsoft запускается первой, даже если у меня есть версия в пути.

    Самое простое руководство по настройке cURL в Windows – это руководство по настройке cURL в Windows 7. В нем всего три простых шага.

    В этом руководстве предлагается поместить curl.exe в папку System32. На самом деле нужно создать папку Curl в C:\Program Files, поместить туда исполняемый файл Curl, а затем поместить путь к этой папке в переменную окружения системного пути. Это по-прежнему позволит получить к нему доступ из командной строки в любом месте

      (двоичный файл Win64 ia64 zip с SSL)
    1. Извлеките curl.exe в папку " C:\Windows\System32 "
    2. Готово

    Еще проще:

    Загрузите установщик MSI для Win64 2000/XP x86_64, предоставленный Эдвардом ЛоПинто.

    На момент написания файла curl-7.46.0-win64.exe был самым последним. Протестировано с Windows 10.

    Мне это не подходит. Curl нуждается в SSL-сертификатах (curl-ca-bundle.crt) в дополнение к файлу curl.exe, поэтому вы должны поместить куда-нибудь содержимое папки bin (я просто оставил ее в каталоге загрузок, но C:\Program Files\ curl будет лучше), затем добавьте эту папку в свой путь.

    Возможно, стоит отметить, что Powershell версии 3 и выше содержит командлет Invoke-WebRequest, обладающий некоторыми крутящимися возможностями. Возможно, стоит также упомянуть командлеты New-WebServiceProxy и Invoke-RestMethod.

    Я не уверен, подойдут они вам или нет, но, хотя я не специалист по Windows, должен сказать, что мне кажется, что объектный подход, который использует PS, намного проще в работе, чем такие утилиты, как curl, wget и т. д. Возможно, на них стоит взглянуть

    Самый простой способ сделать это, особенно за корпоративным брандмауэром. Также: развернуты как часть установки Visual Studio в эти дни?

    Как вы уже знаете, на официальном сайте curl можно найти несколько пакетов двоичных файлов.

    Загрузив пакет, разархивируйте его в любое место. Я рекомендую добавить его местоположение в ваш путь, чтобы вы могли вызывать curl из пакетных или powershell-скриптов. Чтобы добавить каталог к ​​вашему пути, введите «переменные среды» в меню «Пуск» и выберите «изменить переменные среды пользователя». Выберите «Путь» и добавьте в конец поля «значение»: ;C:\curl\directory (с изменением каталога на место, где вы сохранили curl.)

    Обратите внимание читателей, которые используют загрузку здесь: A. McAfee отсканировал ее как чистую (да, хм, McAfee, но я использую ее уже много лет, и у меня не было проблем). Б. Подумайте о том, чтобы сразу перейти на платное решение. всего 3 доллара. (Я бы так и сделал, если бы заметил цену раньше (и имел намек на то, что впереди)). C. если вы выберете бесплатную версию, вы получите немного более старую версию (для моих целей это нормально). D. Вы должны «доказать, что вы не робот», играя в игру с капчей, которую я никогда раньше не видел. Начал с необходимости многократного выбора фотографий домов. . . . . .

    <р>. . . Похоже, это не сработало, так что нужно ли выбирать более общие здания в наборе изображений? В конце концов, он прошел через более неоднозначные наборы изображений с похожими проблемами и, наконец, оказался на «выбранных площадях, на которых есть уличные знаки». Это оказалось недвусмысленно, я прошел «тест не на робота» и смог скачать установщик. E. Запустил программу установки от имени администратора на моем компьютере. F. Для установки требуется установить MS Visual C++ для распространяемого пакета 2015 года. Пришлось запускать это 2 раза, но могу поспорить, что это был сбой MS на их стороне при загрузке.

    <р>. G. Ах да, что касается капчи, я нажал кнопку загрузки, прежде чем заметил флажок «Я не робот». Я думаю, что из-за того, что я пытался сначала скачать, хотя позже я поставил галочку, мне также пришлось ввести капчу. Надеюсь, другие смогут этого избежать. H. В целом, я очень доволен этим пакетом и буду получать обновления (при условии, что я могу использовать PayPal). Спасибо @confusedbycode, это было намного проще, чем искать libssh2*.dll (и другие зависимости, которые позже будут обнаружены из «официальной» загрузки (см. выше). Всем удачи!

    Х.Установил «профессиональную версию», ожидая использования «автоматических обновлений и Easy SFTP», но не вижу этого в структуре каталогов «C:/program files/Confused By Code». (Я знаю, что это не место для технической поддержки, просто заканчиваю свой опыт с этим решением). Всем удачи!

    Установите диспетчер пакетов Chocolatey для Windows. После установки просто введите choco install curl. Затем вы можете использовать curl из терминала.

    Думал написать именно то, что я сделал (Windows 10, 64-разрядная версия):

    Выберите исполняемый файл curl.

    Выберите первый рекомендуемый вариант. Для меня это было:

    версия curl: 7.53.1 — SSL включен SSH включен. Предоставлено: Виктором Сакатсом. Этот пакет представляет собой исполняемый файл типа curl. Вы получите готовый двоичный файл curl по этой ссылке (или, в некоторых случаях, используя информацию, представленную на странице, на которую ведет эта ссылка). Вы можете или не можете установить «libcurl» как общую библиотеку/DLL. Файл запакован с помощью 7zip. 7zip — это формат архивации файлов.

    У вас должен быть файл curl-7.53.1-win64-mingw.7z в папке загрузок.

    Установите 7-Zip, если у вас его нет.

    Щелкните правой кнопкой мыши, 7-Zip, извлечь сюда. Скопируйте и вставьте извлеченный файл куда-нибудь, например, Z:\Tools\

    Если вы заглянете в папку bin, то увидите curl.exe. Если дважды щелкнуть по нему, окно быстро вспыхнет и исчезнет. Чтобы запустить его, вам нужно использовать командную строку. Перейдите в папку bin и введите curl, а затем ваши параметры, чтобы сделать запрос. Вы должны использовать двойные кавычки. Одинарные кавычки не работают с curl в Windows.

    Теперь вам нужно добавить curl в переменную пути пользователя, чтобы вам не приходилось переходить в нужную папку для запуска программы. Перейдите в «Этот компьютер», «Компьютер», «Свойства системы», «Дополнительные параметры системы», войдите в систему как администратор (вы не работаете в качестве администратора, верно? Верно?) Переменные среды, Системные переменные, просмотрите список и выберите «Путь», затем «Изменить», затем Новое, например,

    Вы можете добавить обратную косую черту, если хотите, я не думаю, что это имеет значение. Нажимайте «Переместить вверх», пока он не окажется в верхней части списка, после чего вы сможете легко увидеть его на предыдущем экране. Нажмите «ОК», «ОК», «ОК», затем откройте командную строку, и вы сможете запустить curl, набрав curl из любой папки от имени любого пользователя. Не забудьте двойные кавычки.

    Как написать это современным способом с помощью URLRead или URLExecute?

    Я видел ответы о том, как это сделать с помощью URLFetch , но это устарело.

    2 ответа 2

    Сначала мы создадим небольшой файл JPG:

    Мы можем отправить запрос с помощью URLRead, а затем проверить тело ответа. Служба самоанализа возвращает описание исходного запроса в формате JSON:

    В качестве альтернативы мы могли бы использовать URLExecute, который автоматически импортирует текст ответа JSON в виде вложенных списков правил:

    Результат, возвращаемый службой самоанализа, позволяет нам легко убедиться, что эти результаты эквивалентны использованию curl :

    $\begingroup$ Для MacOSX измените на 'req = HTTPRequest[ "httpbin.org/anything", "POST", "Body" -> File["./zot.jpg"]>|>]' $\ конечная группа$

    curl отличается от встроенного Curl .

    curl – это инструмент командной строки и библиотека для передачи данных с помощью URL-адресов.

    Это запрашивает встроенный модуль Mathematica или вызов командной строки ОС.

    Для встроенного URL Download может быть соответствующая команда. Но curl также используется для целей исследования, поэтому URLRead берет на себя эту роль. Для оценки ответа Mathematica предлагает URLResponse.

    curl является открытым исходным кодом и постоянно используется до тех пор, пока будет применяться стандарт ISOOSI и будут использоваться URI. Таким образом, $ScriptCommandLine является встроенной рекомендацией

    Есть некоторые сообщения, которые можно игнорировать.

    Вывод поступает в оболочку до тех пор, пока не будет указан файл. Это может быть прочитано Импортом. Управление путями и именами осуществляется отдельно. Управление ошибками в этом случае необходимо.

    В Windows это может быть обобщено до

    Для дальнейшей обработки за один шаг.

    Простые сообщения об ошибках см. в ответе @WReach.

    По сравнению с URLRead[URLRequest[..]] curl заполняет больше, чем книгу.

    Может существовать веб-сайт, на котором решение Mathematica не подходит. Подумайте об операционных системах Linux, которые могут быть устаревшими или даже оптимизированными для curl.

    Тенденция импорта — требовать лицензии и ключи — это отдельная тема. Таким образом, следует ожидать различий с файлами cookie. Поскольку curl бесплатен, добавить его в Mathematica совсем несложно. Наоборот дороже.

    Команда grep в Linux широко используется для анализа файлов и поиска полезных данных в выходных данных различных команд.

    Команда findstr является эквивалентом Windows grep в командной строке Windows (CMD).

    В Windows PowerShell альтернативой grep является команда Select-String.

    Ниже вы найдете несколько примеров того, как выполнить «grep» в Windows, используя эти альтернативы.

    Полезный совет. Эквивалент команды Windows touch в CMD и PowerShell! Читать далее →

    Команда Grep в Windows

    Соберите вывод команды netstat для определенного порта:

    Если команда в PowerShell возвращает какие-то объекты, перед синтаксическим анализом их следует преобразовать в строки с помощью команды Out-String -Stream:

    Выполните поиск файла по шаблону, соответствующему регулярному выражению (без учета регистра):

    Параметры, используемые командой findstr в приведенном выше примере:

    Показать справку по эквивалентам команды Windows grep:

    Полезный совет: Эквивалент команды Windows cat в CMD и PowerShell! Читать далее →

    14 ответов на вопрос «Windows: эквивалент `Grep` — CMD и PowerShell»

    Привет. Я попытался ввести командную строку
    ` C:\> netstat -na | findstr «2020»` и введите, и это не работает. Я хочу искать в каталогах документа Word некоторые строки. Кажется, я что-то упустил в ваших объяснениях

    Отличный текст. Я нашел именно то, что мне было нужно.
    Одно исправление, однако, заключается в вызове справки findstr, которая соответствует обычной форме других команд Windows: findstr /?
    Спасибо!

    PS C:\Users\Administrator> auditpol.exe /get /category:* | findstr «Репликация службы каталогов»
    Службы сертификации Нет аудита
    Изменения службы каталогов Нет аудита
    Репликация службы каталогов Нет аудита
    Подробная репликация службы каталогов Нет аудита
    Доступ к службе каталогов Нет Аудит
    Операции с билетами службы Kerberos Без аудита
    Служба проверки подлинности Kerberos Без аудита

    мне нужно точное совпадение, пожалуйста, помогите мне, это срочно

    используйте find вместо findstr (findstr вернет все совпадения с каталогом, службой или репликацией, find вернет совпадение всей строки (с учетом регистра). Используйте find -i, чтобы игнорировать регистр.

    Мне нужен один вывод, который точно соответствует слову в слове

    auditpol.exe /get /category:* | findstr /C:"Репликация службы каталогов"

    Знаете ли вы, почему команда Select-String в PowerShell возвращает только совпадение с шаблоном, а findstr возвращает всю строку целиком, как это делает grep?
    Например:
    Если я использую Set-Alias ​​-NAME grep -Value Select-String
    'Get-Alias ​​|Select-String grep' вернет:
    grep
    'Get-Alias ​​|findstr grep' вернет:
    Alias ​​grep -> Select-String

    Есть ли способ получить тот же вывод Select-String, но только для использования команд PowerShell?

    Проблему вызывает поведение команды get-alias.
    Сначала преобразуйте вывод в строки:
    ‘Get-Alias ​​| Out-String -поток | Select-String grep’

    Большое спасибо. полезно для меня.

    Отличная информация, которая может помочь мне разгадать загадку. спасибо

    Я пытаюсь создать командный файл для win 10, чтобы найти конкретный процесс, который постоянно «зависает». Дело в том, что его pid меняется при каждом использовании. Я бывший программист начального уровня для среднего уровня, и я «зависаю» на многих процессах, поскольку я разрабатываю банальное программное обеспечение в старости. Мне нужно использовать что-то вроде списка задач, чтобы перечислить все НЕ ОТВЕЧАЮЩИЕ процессы, найти процесс или PID, который мне нужно убить, и отправить эту информацию в taskkill, чтобы выполнить работу. Если кто-нибудь прочитает это и может помочь мне с приличным пакетным файлом, я буду очень признателен. Я уже прочитал много статей, но не могу заставить его работать. Заранее спасибо лучшему человеку, которого я могу честно назвать на данный момент лучшим человеком в мире 🙂

    У меня есть большой TXT-файл с десятками тысяч строк.
    Я хочу найти все 500 или около того строк, содержащих определенную строку (например, «всплывающее окно»), и извлечь эти строки в другой выходной файл для дальнейшей обработки. Строка уникальна для строк, которые я хочу извлечь, и встречается только один раз в каждой такой строке.
    Я уже много лет не программирую (макросы на Фортране, Бейсике, Excel), но хочу научиться чему-то современному. Я работаю на ноутбуке с Win10 и ищу совета: что было бы самым простым и быстрым (Python, Perl, Powershell, …), что позволило бы мне сделать вышеперечисленное?

    Команда powershell Select-String отлично справляется с этим с правильным регулярным выражением, как и большинство других языков оболочки. В powershell вы можете запустить эту команду:

    Выберите строку ‘^.*YOURSTRING.*’ c:\PATH\TO\INPUTFILE.TXT | % > c:\PATH\TO\OUTPUTFILE.TXT

    Краткий обзор этой команды:
    * Регулярное выражение ^.*YOURSTRING.* выбирает всю строку, содержащую YOURSTRING
    * % выбирает только строки регулярного выражения; без него ваш выходной файл будет иметь имя файла и номер строки в каждой строке
    * > записывает вывод в файл

    Читайте также: