![Как найти файл, не имеющий определенного содержимого?](https://rvso.com/image/623653/%D0%9A%D0%B0%D0%BA%20%D0%BD%D0%B0%D0%B9%D1%82%D0%B8%20%D1%84%D0%B0%D0%B9%D0%BB%2C%20%D0%BD%D0%B5%20%D0%B8%D0%BC%D0%B5%D1%8E%D1%89%D0%B8%D0%B9%20%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE%20%D1%81%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B8%D0%BC%D0%BE%D0%B3%D0%BE%3F.png)
У меня много файлов, в которых уже определены записи SPF.
grep -i v=spf *.db
/var/named/domain.com.db
domain.com. 14400 IN TXT "v=spf1 +a +mx +ip4:XXX.XXX.XXX.XXX ?all"
И хотите найти все файлы без записей SPF. Какие-нибудь подсказки?
решение1
GNU grep имеет -L
опцию, обратную -l
. Она выводит список файлов без совпадений. Так что вы можете сделать
grep -iL v=spf *.db
С помощью более традиционного grep вы можете выполнить подсчет -c
, а затем выбрать те, у которых количество совпадений равно 0:
grep -ic v=spf *.db | grep ':0$' | sed 's/:0$//'