Поиск файла по содержимому этого файла

[announce]То что давно хотел узнать :)[/announce]

Вот так можно найти строку по содержимому файла.

$ find /etc -type f -exec grep -Hn "nameserver" {} \; 2>/dev/null

Вот так можно найти все файлы в каталоге /etc в которых есть слово "nameserver"
Опции grep:

H - выводим имя файла со строкой.
n - номер строки в файле.

Ошибки перенаправляем в /dev/null
При желании можно написать вот такой скрипт:

#/bin/sh

dir='.';
if [ -z $1 ] 
then
	echo 'Команду нужно запускать вот так: find.str  [dir]';
else
	if [ -z $2 ]
	then
		dir=$2
	fi
	
	find . -type f -exec grep -Hn $1 {} \; 2>/dev/null
fi



Вообще вот ссылка полезная - http://www.openspin.org/materials/courses/admin/ch04s02.html

 

Unix — пример работы с текстом

Скачал тут недавно книгу из двух текстовых файлов в koi8-r и с переводами строки в стиле Win (^M)

Решил поправить это дело таким вот образом:

$ cat book_p1.txt book_p2.txt | sed 's/\r//' | iconv -f koi8-r -t utf8 > book.txt

Вот так вот :) Unix - это круто!