Поиск строки сценария оболочки, где «#» не находится в первой позиции символа - PullRequest
0 голосов
/ 09 ноября 2010

поиск этой строки предоставил Paul.R (высоко ценится Пол):

** find dir -type f -print0 | xargs -0 grep -F -f strings.txt **

Обратите внимание, я использую приведенный выше аргумент поиска для выполнения рекурсивного поиска в каталоге для жестко закодированных путей в сценариях оболочки. Однако из-за ограничений среды Unix (TRU64) я не могу использовать переключатель GREP -r для выполнения поиска в каталоге. Следовательно использование решения, предоставленного выше.

В качестве дополнительного критерия я хотел бы расширить этот аргумент поиска, чтобы исключить любой текст, где первый ведущий символ искомой строки - "#" (символ комментария).

Буду признателен за любые отзывы.

Спасибо ... Evan

Ответы [ 2 ]

0 голосов
/ 10 января 2011

Это решение не будет работать, если путь и файл файлов содержатся в strings.txt, но оно может работать в вашей ситуации.

find dir -type f -print0 | xargs -0 grep -v '^#' | grep -F -f strings.txt
0 голосов
/ 09 ноября 2010

Я предполагаю, что вы просто пытаетесь ограничить результаты вывода команды, которую вы отправили. Если это так, то как насчет

find dir -type f -print0 | xargs -0 grep -F -f strings.txt | grep -v '^ #'

Последняя переданная команда игнорирует все строки, которые соответствуют регулярному выражению ^ # (начинается с # char)

...