1

В MS Windows XP, в DOS, возможно ли выполнить поиск содержимого (строки или слова) в файле с помощью командной строки.

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

Благодарю.

4 ответа4

3

Есть два варианта: FIND или FINDSTR , оба встроены в командную строку Windows.

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

FIND "apple" file.txt

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

FIND "apple" *

FINDSTR есть еще несколько опций: вы можете выполнять поиск с помощью регулярных выражений и рекурсивный поиск в подкаталогах:

FINDSTR /s "apple" *

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

0

Если вы ищете нестандартное решение, вы можете использовать команду fndstr, которая поставляется с XP.

0

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

Краткая версия как это использовать:

$ find [where in the file tree to start]+ [how to filter files]+ [actions]+

и общее использование будет

$ find . ~ -name '*.mp3' -print

что означает запуск в этом каталоге (.) и в моем домашнем каталоге (~), выберите только файлы с именами, заканчивающимися на .mp3 (фильтр -name), и напечатайте путь (используя действие -print).

Есть еще много операторов выбора и скромный набор действий. Чтобы сделать что-то сложное с файлами, которые вы нашли, вы либо используете -exec либо печатаете их имена и xargs .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .