Я не уверен, что ваша настоящая задача может быть решена исключительно с помощью регулярного выражения, переданного в grep, поскольку grep обрабатывает файлы построчно. Я бы использовал опции -l
(--files-with-matches
) и -L
(--files-without-match
) вместе с обратными галочками подстановки команд, например:
grep -L copyright `grep -l base64_decode *`
grep -l base64_decode *
перечисляет имена всех файлов с "base64_decode" в них, и обратные метки помещают этот список в командную строку после grep -L copyright
, который ищет эти файлы и перечисляет подмножество их, которое не содержит "авторское право".