Аналог кота в окнах

Обновлено: 21.11.2024

Большинству пользователей Linux очень удобно работать с командной строкой. И одним из основных требований является поиск конкретных строк в конкретном файле или файлах или даже в выводе конкретной команды. Grep — это параметр командной строки, используемый для поиска определенной строки внутри файла или нескольких файлов или из вывода команды, но его можно использовать только в Linux. Для Windows альтернативой grep является findstr.

Поскольку пользователи Windows не привыкли использовать командную строку для мелких задач, большинство пользователей не знают, как найти определенную строку в файлах с помощью командной строки Windows или даже PowerShell. В этой статье мы обсудим, как использовать findstr (эквивалент Grep в Windows) в командной строке, а также как использовать функцию поиска с помощью PowerShell. Давайте обсудим различные сценарии, которые можно использовать в реальных ситуациях.

Оглавление

Фильтрация вывода команды с помощью командной строки

Если вы хотите отфильтровать результаты команды, вы можете использовать | findstr «string_to_find»

Например, я в основном использую netstat для проверки подключений, установленных на моем компьютере. Если я хочу проверить, какое приложение или IP-адрес подключены к определенному порту, я буду использовать следующую команду:

нетстат | findstr «imaps» Findstr фильтрует порты imaps

Это покажет мне только безопасные порты imap, открытые на моем компьютере.

Поиск определенной строки внутри одного файла с помощью командной строки

Команда для этой цели:

findstr «string_to_find» «file_name»

findstr «читатель» «новый 1.txt»

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

Поиск определенной строки в папке с помощью Findstr

Вы также можете указать папку для поиска определенной текстовой строки в нескольких файлах.

findstr /M «читатель» «C:\Users\Usman\Desktop\*»

Это даст список всех файлов с полным путем, содержащим текстовую строку «reader». Если вы не укажете /M, на выходе будет показана точная текстовая строка вместе с именем файла, в котором она была найдена.

Поиск строки в папке

Здесь вы можете просмотреть все переключатели, которые можно использовать с командой.

Эта команда может быть полезна во многих случаях, особенно когда я создаю журнал сетевых действий и должен найти в журнале определенную вещь. Что вы делаете с этой командой фильтра «findstr»?

Усман Хуршид — опытный ИТ-специалист с более чем 15-летним опытом работы в ИТ-индустрии. У него есть опыт во всем: от ИТ-поддержки, службы поддержки, системного администратора, сетевого администратора и облачных вычислений. Он также имеет сертификат Microsoft Technologies (MCTS и MCSA), а также сертифицированный специалист Cisco по маршрутизации и коммутации.

Оставить ответ Отменить ответ

7 комментариев

Похоже, автор забыл, что в статье также обсуждалось «как использовать функцию поиска с помощью PowerShell».

Спасибо, что предоставили эквивалент grep в Windows. Я желаю, чтобы вы придумали эквиваленты всех часто используемых команд unix и скомпилировали их в файл, чтобы такие пользователи, как я, могли использовать его в качестве справочника. Еще раз спасибо.

Какие другие команды вы обычно используете в Linux и Unix, но недоступны в Windows?

Я пытался найти имена файлов, начинающиеся с определенной строки.
Я начал с поиска всех файлов в определенном каталоге, который содержит множество подкаталогов и тому подобное, с помощью ‘dir * /s/b | findstr «.*\..*» ‘Я перенес результаты в файл DirectoryListing.txt, чтобы сохранить все пути.
У меня также есть файл List.txt, который содержит строки имен файлов, например: «12345». Каждое имя файла находится на отдельной строке.
Затем я попытался найти все имена файлов, начинающиеся со строк, содержащихся в List.txt, из моего файла DirectoryListing.txt. При этом я получил имена файлов, которые не начинались с искомой строки. Если бы я взял свою строку «12345», я бы ожидал получить имена файлов, начинающиеся с «12345», но я также получил имена файлов, содержащие дефис «11-12345». Как и в вашем примере, где вы FINDSTR «reader», он вернул «adobe-reader-…».
Вот как я пытаюсь разобрать файл: For /F «Delims=|» %%X In ('FINDSTR /IRC:"\" "%destination%\%DirList%"')
%%A — это строка для поиска, например: '12345'
%DirList% мой DirectoryListing.txt

Мой вопрос: как я могу использовать FINDSTR для поиска имен файлов, которые начинаются с определенной строки и не имеют дефиса «-» перед строкой?

Правильно ли я понимаю: findstr соответствует STRING, а не шаблону регулярного выражения, верно?

И вы называете это «эквивалентом grep»??

Ближайшей альтернативой grep в Windows является findstr. Мы не можем сравнивать все функции каждой команды, но основная функция команд одинакова.

Я пытаюсь отфильтровать имя ветки git, поэтому использовал ветку git | findstr «*» выводит имя ветки, но включает знак *. Мне было интересно, есть ли способ выбрать точное имя ветки и сохранить его в строку.
Особенно для веток типа rel-0.1 это не работает.

Я пытаюсь преобразовать ветку git | грэп \* | вырезать -d '' -f2 | git pull origin из скрипта bash в ветку
>git | найтистр «*» | git pull origin, но каждый раз, когда имя ветки похоже на rel-0.1, оно не работает, но для других оно работает.
Цель состоит в том, чтобы вытащить origin из текущей выбранной ветки.

сообщить об этом объявлении

Последние публикации

Об iTechtics

iTechtics – это блог о технологиях, в котором основное внимание уделяется новостям Windows, программному обеспечению и загружаемым материалам, советам и рекомендациям по программному обеспечению, веб-службам, безопасности и продуктивности Office.

сообщить об этом объявлении

команда cat (сокращение от concatenate) — одна из мощных команд для создания одного или нескольких файлов, просмотра содержимого файла, объединения нескольких файлов, копирования содержимого в другие файлы и вывода вывода на терминал или в файл.

Что делает команда cat?

Команда cat — это служебная команда в Linux. Одним из наиболее распространенных способов его использования является печать содержимого файла в стандартный поток вывода. Помимо этого, команда cat также позволяет нам записывать некоторые тексты в файл.

Что такое команда cat в PowerShell?

cat является синонимом команды Get-Content, которая просто считывает содержимое документа, на который ссылается переданный параметр, и выводит его содержимое на стандартный вывод.

Как установить кошачье окно?

Загрузите CAT для Windows версии 4. С помощью «Мой компьютер» или «Проводник» найдите этот файл и дважды щелкните его, чтобы разархивировать в папку installcat на жестком диске. Это создаст установочные файлы, необходимые для установки. Шаг 2. Используя «Мой компьютер» или «Проводник», найдите и откройте указанную выше папку installcat.

Что такое кошка в Python?

cat — это сокращение от concatenate. … Эта команда используется для отображения содержимого файлов, объединения содержимого нескольких файлов в один файл, создания одного или нескольких файлов.

Как вы пишете кошачьи команды?

Чтобы создать новый файл, используйте команду cat, за которой следует оператор перенаправления ( > ) и имя файла, который вы хотите создать. Нажмите Enter , введите текст и, когда закончите, нажмите CRTL+D, чтобы сохранить файл. Если файл с именем file1. txt, он будет перезаписан.

Как пометить файл в Windows?

Команда cat в Linux используется для объединения файлов и вывода на стандартный вывод. Команда type — это эквивалент cat для Windows, который работает в командной строке (CMD) и Windows PowerShell.

Как установить файлы cat?

Загрузите CAT для Windows версии 4. С помощью «Мой компьютер» или «Проводник» найдите этот файл и дважды щелкните его, чтобы разархивировать в папку installcat на жестком диске. Это создаст установочные файлы, необходимые для установки. Шаг 2. Используя «Мой компьютер» или «Проводник», найдите и откройте указанную выше папку installcat.

Что такое команда cat в Mac?

Команда cat (сокращение от «concatenate») — одна из наиболее часто используемых команд в операционных системах Linux/Unix, Apple Mac OS X. Команда cat позволяет нам создавать один или несколько файлов, просматривать содержимое файла, объединять файлы и перенаправлять вывод в терминал или файлы.

Как вы используете команду cat в Python?

Команда cat — это команда оболочки, используемая в операционных системах на базе UNIX, таких как macOS и Linux. cat — это сокращение от concatenate. Эта команда используется для отображения содержимого файлов, объединения содержимого нескольких файлов в один файл, создания одного или нескольких файлов.

Как использовать команду cat для редактирования?

Создание файлов Чтобы создать новый файл, используйте команду cat, за которой следует оператор перенаправления ( > ) и имя файла, который вы хотите создать. Нажмите Enter , введите текст и, когда закончите, нажмите CRTL+D, чтобы сохранить файл. Если файл с именем file1.txt, он будет перезаписан.

Что такое вариант кошки?

Используйте эту команду, чтобы объединить файл или файлы и отобразить результат; или объединить несколько файлов в один выходной файл.

Что такое терминальные команды?

Терминалы, также известные как командные строки или консоли, позволяют нам выполнять и автоматизировать задачи на компьютере без использования графического пользовательского интерфейса.

Куда поместить файлы cat?

cat файл идет во время установки подписанного драйвера. %SystemRoot%\system32\драйверы. установки, чтобы избежать появления предупреждающего сообщения "драйвер не подписан", когда диспетчер устройств пытается загрузить драйвер устройства.

Как вы делаете ls в Windows?

Однако вы можете использовать функциональные возможности команды «ls» в Windows, используя эквивалентную команду dir в командной строке. Чтобы вывести список файлов и каталогов с помощью командной строки в Windows 10: 1. Щелкните значок меню «Пуск», найдите «Командная строка», щелкните правой кнопкой мыши наилучшее совпадение и выберите «Запуск от имени администратора».

Изменяет ли команда cat файл?

Привет, SomeBloke, кошку нельзя использовать для редактирования.

Является ли Linux командой?

Команда Linux — это утилита операционной системы Linux. Все основные и дополнительные задачи могут быть выполнены с помощью команд. Команды выполняются на терминале Linux. Терминал представляет собой интерфейс командной строки для взаимодействия с системой, аналогичный командной строке в ОС Windows.

В Linux есть очень мощный и полезный терминал командной строки, который используется и нравится пользователям. Таким образом, если вы ранее использовали интерфейс командной строки Linux (CLI) и только недавно начали использовать командную строку Windows, вы обязательно будете разочарованы отсутствием функций последней.

В терминале Linux поддерживается множество команд, которых нет в Windows. К счастью, команда «ls» поддерживается в командной строке Windows. Продолжайте читать, пока мы узнаем, как использовать команду «ls» в Windows.

Что такое команда «ls»?

Команда «ls» (это LS, а не IS) — одна из первых терминальных команд, которым ветераны обучают новичков в Linux. Это позволяет пользователям просматривать файлы и каталоги из интерфейса командной строки. Вы можете думать об этом как о проводнике, но без удобных значков и кнопок навигации. С помощью команды «ls» пользователи Linux могут просмотреть содержимое текущего рабочего каталога.

Как использовать команду «ls» в Windows

Windows — это совершенно другая экосистема по сравнению с Linux. В результате многие команды Linux CLI не поддерживаются инструментом командной строки Windows. Если вы попытаетесь использовать команду «ls» в командной строке, вы получите следующую ошибку: «ls» не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл».

Однако вы можете использовать функциональные возможности команды «ls» в Windows, используя эквивалентную команду dir в командной строке.

Чтобы вывести список файлов и каталогов с помощью командной строки в Windows 10:

<р>1. Щелкните значок меню "Пуск", найдите "Командная строка", щелкните правой кнопкой мыши наилучшее совпадение и выберите "Запуск от имени администратора".

<р>2. Когда откроется окно командной строки, перейдите в каталог, который вы хотите просмотреть, и введите dir.

<р>3. Командная строка теперь отображает список всех файлов в текущем рабочем каталоге, а также их размеры и дату последнего изменения.

Удобный инструмент для пользователей Linux и Windows

Если вам нравится использовать Linux, вы, вероятно, обнаружите, что собственная командная строка Microsoft немного слабее по сравнению с ней. К счастью, команда «ls» есть и в Windows; просто используется другое имя.

Если вы еще не изучили ее, утилита командной строки Windows — это удобный способ использовать более продвинутые инструменты Windows. Всегда полезно ознакомиться с командами Windows CMD, чтобы вы могли в полной мере использовать свою копию Windows.

Команда grep широко используется в Linux для анализа файлов и вывода оболочки. Используя grep, вы можете легко найти и отфильтровать вывод, возвращаемый предыдущей командой в конвейере. В этой статье мы рассмотрим эквиваленты команды grep в Windows PowerShell.

В командной строке Windows (CMD) эквивалентом grep является findstr. Однако его сложно использовать в сценариях PowerShell. Простейшим эквивалентом grep в PowerShell является Select-String.

Командлет Select-String предоставляет следующие возможности:

  • Поиск по регулярным выражениям (по умолчанию);
  • Поиск по буквальному совпадению (параметр -Simple);
  • Искать только первое совпадение в файле, игнорируя все последующие (переключатель –List);
  • Поиск всех совпадений, даже если их несколько в одной строке (-AllMatches);
  • Поиск строк, не соответствующих шаблону (параметр –NotMatch подобен ключу –v инструмента grep);
  • В дополнение к строке прямого соответствия отображать несколько предыдущих и следующих строк (аргумент -Context);
  • Select-String позволяет указать кодировку входного файла (параметр -Encoding). Поддерживаются следующие кодировки: ASCII, BigEndianUnicode, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32.

Например, используйте следующую команду, чтобы найти список открытых портов на вашем компьютере (со статусом прослушивания):

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

Вы можете использовать регулярные выражения (RegEx) в командлете Select-String. Например, следующая команда найдет все файлы или строки, содержащие слово «Ошибка», в указанной папке:

Если вам нужно проверить все подпапки, используйте параметр -Recurse:

Чтобы отобразить имена всех найденных файлов и соответствующие номера строк:

Вы можете скопировать все файлы с совпадениями в указанный каталог:

Как видите, командлет Select-String позволяет обрабатывать строковые данные. Используйте командлет Where-Object, если вам нужно собрать объекты (Фильтрация объектов PowerShell с помощью Where-Object).

Например, вы хотите найти все процессы, использующие более 300 МБ ОЗУ:

Мне нравится технология и разработка веб-сайтов. С 2012 года я веду несколько собственных веб-сайтов и делюсь полезным контентом по гаджетам, администрированию ПК и продвижению веб-сайтов.

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