тащивший ответственно за обеспечение объединенного интерфейса к текущей аппаратной конфигурации машины. udev ответственен за управление различными операциями, требуемыми, когда изменения настроек оборудования, в то время как система жива.
Простые grep управляют с-e опцией:
grep -e "string1" -e "string2" -e "stringn" file*.txt
Или можно поместить все строки поиска в файл под названием search.txt как это:
string1
string2
string3
...
...
stringN
и затем выполненный grep как это с -f
опция:
grep -f search.txt file*.txt
Используйте grep для поиска всех строк в одной передаче:
grep -E -H 'string1|string2|stringn' file1.txt file2.txt filen.txt
-E
позволяет Вам использовать символ вертикальной черты (|), не выходя из него. -H
печатает имя файла для каждого соответствия. Регулярное выражение использует каналы для разделения каждой строки, так, чтобы grep
попытается соответствовать каждому в порядке.
Существует вариант grep, который поддерживает эту функцию для больших наборов строк, попробовать
fileWithListOfSearchTargets=myFileOfSearchTargets.txt
fgrep -f ${fileWithListOfSearchTargets} file1 file2 ... filen
(Переменные и имена файлов предназначены, чтобы самозарегистрировать, можно использовать любое имя, которое Вы любите),
Необходимо ввести все строки поиска в файл.
Никакое продвижение или конечные пробелы, если Вы не ожидаете, что они будут соответствовать в Вашем списке файлов. Существует предел размеру что большинство fgrep
s может обработать. Не пытайтесь переполнить 10K строки в один файл.
Лучший способ состоит в том, чтобы использовать grep:
grep -H 'string to search' file1.txt file2.txt filen.txt
будет искать указанные файлы строку и распечатывать согласующие отрезки длинной линии наряду с именем файла, где соответствие было найдено.
for searchString in "string1 string2 stringn"; do grep -H $searchString file1.txt file2.txt; done
Однако это предполагает, что searchString является легким словом - если он имеет символы, пробелы, Вам нужно больше выхода.
–
28.04.2011, 18:13
Unix находит команду:
find . -exec grep "i want to find this string" '{}' \; -print
будет искать от текущего dir и вниз.
Это работает также:
egrep -r 'arbitrary string' *
echo -e "string1\nstring2\nstringn" | grep -f - search.txt file*.txt
– jcubic 28.04.2011, 18:24