В MS Windows XP, в DOS, возможно ли выполнить поиск содержимого (строки или слова) в файле с помощью командной строки.
Если так, мы можем искать каталог также. т.е. он должен искать во всех файлах в каталоге определенное слово или фразу.
Благодарю.
В MS Windows XP, в DOS, возможно ли выполнить поиск содержимого (строки или слова) в файле с помощью командной строки.
Если так, мы можем искать каталог также. т.е. он должен искать во всех файлах в каталоге определенное слово или фразу.
Благодарю.
Есть два варианта: FIND или FINDSTR , оба встроены в командную строку Windows.
Вы можете использовать FIND для поиска простой строки в файле:
FIND "apple" file.txt
Вы также можете использовать его для поиска всех файлов в текущем каталоге:
FIND "apple" *
FINDSTR есть еще несколько опций: вы можете выполнять поиск с помощью регулярных выражений и рекурсивный поиск в подкаталогах:
FINDSTR /s "apple" *
Во всех случаях эти команды печатают каждую строку, которая соответствует искомой строке, вместе с файлом, в котором они были найдены.
Если вы ищете нестандартное решение, вы можете использовать команду fndstr, которая поставляется с XP.
В Unix команда является командой find, которая использует мини-язык в командной строке для определения того, что нужно найти.
Краткая версия как это использовать:
$ find [where in the file tree to start]+ [how to filter files]+ [actions]+
и общее использование будет
$ find . ~ -name '*.mp3' -print
что означает запуск в этом каталоге (.) и в моем домашнем каталоге (~), выберите только файлы с именами, заканчивающимися на .mp3 (фильтр -name), и напечатайте путь (используя действие -print).
Есть еще много операторов выбора и скромный набор действий. Чтобы сделать что-то сложное с файлами, которые вы нашли, вы либо используете -exec либо печатаете их имена и xargs .