консольные команды или работа в консоли

10 сообщений / 0 new
Последнее сообщение
Serega
Аватар пользователя Serega
Не в сети
Зарегистрирован: 29/09/2010
консольные команды или работа в консоли

Добрый день. Проблема такая вообщем имеется папка с большим колличеством фалйов (около 100 шт) нужно произвести поиск слова во всех файлах в этой папке и в результате получить имена файлов в которых было найдено это слово. Как это реализовать?

Все глюки Windows исправляются установкой linix!!!

Goodvin
Не в сети
Зарегистрирован: 21/09/2010

пробежеть циклом по списку файлов, список файлов получить через вывод команды ls
в цикле - парсить текущий файл с помощью grep на предмет наличия твоего слова.
Если слово есть - выводить имя текущего файла на экран/в файл...

WhiteDragon (не проверено)

grep -RH 'foo' .

Serega
Аватар пользователя Serega
Не в сети
Зарегистрирован: 29/09/2010

[quote=Goodvin]пробежеть циклом по списку файлов, список файлов получить через вывод команды ls
в цикле - парсить текущий файл с помощью grep на предмет наличия твоего слова.
Если слово есть - выводить имя текущего файла на экран/в файл...

[/quote]
а можно конкретнее про то что вы написали. На каком нибудь примере

Все глюки Windows исправляются установкой linix!!!

Goodvin
Не в сети
Зарегистрирован: 21/09/2010

Хм.. а документацию почитать никак? Не судьба ? Я же дал алгоритм, тебе только надо его реализовать на языке шелла.

Цикл:
for CurrentFile in $((ls /каталог/с/файлами ))
do
#тут собственно обработка текщего файла>

#проверка наличия слова
grep <искомое слово> ${CurrentFile}

#проверка результата
[ -z $? ] || echo ${CurrentFile} && echo "нету слова"

done

Примерно вот так.
Код не самый оптимальный, это сделано для большей понятности.
Это на bash
[ Редактирование 13.11.2008 - 14:56:49 ]

WhiteDragon (не проверено)

[quote=Goodvin]Хм.. а документацию почитать никак? Не судьба ? Я же дал алгоритм, тебе только надо его реализовать на языке шелла.

Цикл:
for CurrentFile in $((ls /каталог/с/файлами ))
do
#тут собственно обработка текщего файла>

#проверка наличия слова
grep <искомое слово> ${CurrentFile}

#проверка результата
[ -z $? ] || echo ${CurrentFile} && echo "нету слова"

done

Примерно вот так.
Код не самый оптимальный, это сделано для большей понятности.
Это на bash
<span class='smallblacktext'>[ Редактирование 13.11.2008 - 14:56:49 ]</span>[/quote]
ls | while read i; do grep 'foo' $i && echo $i ; done
и то было бы проще

Ne01eX
Аватар пользователя Ne01eX
Не в сети
Зарегистрирован: 20/09/2010

А

[i]mc -> Команда -> Поиск файла[/i]

не спасет отца русской демократии? ;-)

Goodvin
Не в сети
Зарегистрирован: 21/09/2010

[b]WhiteDragon[/b]
Я знаю :-)
Писал нарочно, чтобы было проще понять методологию.

Serega
Аватар пользователя Serega
Не в сети
Зарегистрирован: 29/09/2010

спасибо просто с программирование я не дружу :(

Все глюки Windows исправляются установкой linix!!!

WhiteDragon (не проверено)

[quote=Ne01eX]А

[i]mc -> Команда -> Поиск файла[/i]

не спасет отца русской демократии? ;-)[/quote]
когда файлов около 100 штук - то впринципе спасет
а вот когда 10к - лучше даже не пробовать

всяко это умеет сам греп и городить там это все ненадо

RSS-материал