- Как запретить grep'у искать в /proc и /sys?, Licha Morada, 03:28 , 14-Май-20 (1) +1
- Как запретить grep'у искать в /proc и /sys?, Vlad, 14:02 , 14-Май-20 (2) +1
grep -i -r --exclude-dir="/proc" --exclude-dir="/sys" 'my_search_phrase' .
- Как запретить grep'у искать в /proc и /sys?, inFlowiaLab, 18:17 , 14-Май-20 (3)
> grep -i -r --exclude-dir="/proc" --exclude-dir="/sys" 'my_search_phrase' .Если не указан ключ -R не будет же ходьбы по симлинкам а она мне нужна и ещё одна проблема - исключение директорий почему-то не срабатывает, пробовал вот этой строчкой:
sudo grep -r -R --exclude-dir="/proc" --exclude-dir="/sys" "$s" "$path" 2>"$errLogPath" Всё равно ищет и находит в proc и sys.
- Как запретить grep'у искать в /proc и /sys?, Vlad, 18:24 , 15-Май-20 (4)
Тогда лучше find find / -name "searching_phrase" \( ! -name /proc \) -o \( ! -name /sys \) -print
- Как запретить grep'у искать в /proc и /sys?, inFlowiaLab, 20:44 , 15-Май-20 (5)
> Тогда лучше find > find / -name "searching_phrase" \( ! -name /proc \) -o \( ! > -name /sys \) -print Не то. Я файлы по содержимому ищу а find же только файлы по имени ищет. Да и чёт не работает впринципе предложенный вариант команды:
find /media/i/Tmp/ScriptTestingPOLYGON -name "*" \( ! -name /proc \) -o \( ! -name /sys \) -print find: warning: ‘-name’ matches against basenames only, but the given pattern contains a directory separator (‘/’), thus the expression will evaluate to false all the time. Did you mean ‘-wholename’? find: warning: ‘-name’ matches against basenames only, but the given pattern contains a directory separator (‘/’), thus the expression will evaluate to false all the time. Did you mean ‘-wholename’?
Хотя должен был по идее все файлы из моего каталога показать.
- Как запретить grep'у искать в /proc и /sys?, ACCA, 22:08 , 15-Май-20 (6)
find / -mount -type f | xargs grep "searching phrase"Он ещё и в tmpfs не полезет.
- Как запретить grep'у искать в /proc и /sys?, inFlowiaLab, 17:26 , 16-Май-20 (7)
Попробовал:find "/media/i/Tmp/ScriptTestingPOLYGON" -mount -type f | xargs grep "*" вот что выдало: grep: /media/i/Tmp/ScriptTestingPOLYGON/новый: Нет такого файла или каталога grep: файл: Нет такого файла или каталога grep: /media/i/Tmp/ScriptTestingPOLYGON/новый: Нет такого файла или каталога grep: файл: Нет такого файла или каталога grep: (копия): Нет такого файла или каталога Короче говоря он получил пути файлов в незавёрнутом в кавычки виде из за чего воспринял пробелы в имени файлов "новый файл" как разделитель. Кстати, а что должно было запретить ему лазить в sys и proc? Ключ "-type f" - мол "смотреть только обычные файлы? или -mount - "не заходить в смонтированные ФС"? proc и sys - считаются смонтированными?
- Как запретить grep'у искать в /proc и /sys?, Licha Morada, 22:53 , 16-Май-20 (8)
> Короче говоря он получил пути файлов в незавёрнутом в кавычки виде из > за чего воспринял пробелы в имени файлов "новый файл" как разделитель. Да, с пробелами засада. Если grep не сложносочинённый, то можно его звать прямо из find, ключём -exec. > Кстати, а что должно было запретить ему лазить в sys и proc? Ключ -xdev.
- Как запретить grep'у искать в /proc и /sys?, 1, 03:07 , 17-Май-20 (9)
find "/media/i/Tmp/ScriptTestingPOLYGON" -mount -type f -print0 | xargs -0 grep "*"Вот так нормально будет искать даже если в именах директорий или файлов есть пробелы.
- Как запретить grep'у искать в /proc и /sys?, ACCA, 09:44 , 17-Май-20 (10)
> Вот так нормально будет искать даже если в именах директорий или файлов > есть пробелы.Ты огрёб ещё один шаг к силе, о юный падаван! Ты молодец, продолжай в том же направлении.
- Как запретить grep'у искать в /proc и /sys?, inFlowiaLab, 22:32 , 17-Май-20 (11)
> find "/media/i/Tmp/ScriptTestingPOLYGON" -mount -type f -print0 | xargs -0 grep "*" > Вот так нормально будет искать даже если в именах директорий или файлов > есть пробелы.С передачей результатов от find в grep теперь всё действительно ok, только вот эта строка ничего не находит, но это уже какие-то интересности с восприятием grep'ом шаблона "*" потому что если заменить это на "1" например, то он уже много чего находит. PS: Думаю ключи -mount (-xdev) -type f - не нужны. Я не хочу запрещать ему ходить по ссылкам и другим файловым системам. Только в proc и sys путь надо закрыть.
- Как запретить grep'у искать в /proc и /sys?, Vlad, 15:14 , 18-Май-20 (13)
- Как запретить grep'у искать в /proc и /sys?, inFlowiaLab, 11:33 , 18-Май-20 (12)
> grep -i -r --exclude-dir="/proc" --exclude-dir="/sys" 'my_search_phrase' .Вернулся к этому варианту, он заработал в таком виде:
sudo grep -r -R --exclude-dir="proc" --exclude-dir="sys" "$s" "$path"
и всё бы хорошо да только вот он отсеивает ВСЕ каталоги по имени proc и sys, а это плохо. Мне то ведь нужно отсеивать только те что лежат в корне. К сожалению вариант предложенный в цитате ("/proc") - не работает, потому что видимо ключ --exclude-dir так не работает. Вот что в мане: > Skip any command-line directory with a name suffix that matches the pattern GLOB. When searching recursively, skip any subdirectory whose base name matches GLOB. Ignore any redundant trailing slashes in GLOB. И видимо дело тут конкретно в: > Ignore any redundant trailing slashes in GLOB.
- Как запретить grep'у искать в /proc и /sys?, inFlowiaLab, 16:56 , 18-Май-20 (14)
А можно как нибудь заставить grep показывать все места, в которых он сейчас ищет? Впринципе если ему сказать "ищи всё" то он будет показывать всё что видет (кроме пустых каталогов скорее всего) Но вот что ему в качестве шаблона для поиска передать, чтобы это означало "искать всё" ведь * почему-то не работает. Попробовал передать *?* - вроде всё подряд показывает - это правильный вариант, чтобы вывести ВСЁ? Хотя по моему так он пустые файлы не покажет, потому что ? - означает, что один символ всё таки должен быть. Хочу посмотреть на чём он стопорится. Ещё ни разу поиск по корню не завершился нормально, пробовал давать ему целые сутки висеть - всё равно не закончился.
|