Вот решение:
ls -a
.xyz
filevi .xyz
и посмотрите, что за содержимое файлаps -ef | grep username
kill -9 job_ids
- где job_ids - значение 2-ой колонки соответствующего ошибочного содержимого в 8-ой колонке Детали будут зависеть от того, что именно вы хотите, но могут помочь отрицательные поисковые запросы . Некоторые языки регулярных выражений, включая PCRE, поддерживают это. Вы можете активировать PCRE в grep
с помощью переключателя -P
, так что в зависимости от конкретного шаблона, который вы ищете, вы можете сделать что-нибудь умное с ними, но вряд ли это того стоит.
Однако, прочитав ваше обновление, есть гораздо лучшие способы сделать это. grep
предлагает параметр -exclude
:
--exclude=GLOB
Skip files whose base name matches GLOB (using wildcard
matching). A file-name glob can use *, ?, and [...] as
wildcards, and \ to quote a wildcard or backslash character
literally.
Итак, вы можете просто ввести
grep -Inr TEXT --exclude='*.svn' dir/
Если вы обнаружите, что вам нужны более сложные управление файлами, которые вы собираете с помощью grep, чем предлагается в - exclude
, вы можете использовать find
для создания списка файлов для grep:
$ grep 'Any_you_w ant_to_find '$ (find wherever_you_want_to_search -not -iregex' something_you_want_to_ignore ')
Невозможно выполнить одновременно положительный поиск ( grep
) и отрицательный поиск ( grep -v
). Альтернативой может быть использование -E
(или egrep
, что то же самое) и предоставление соответствующего регулярного выражения, которое будет соответствовать одной строке, но не соответствовать другой.