В моем скрипте bash я пытаюсь напечатать строку, если в файле не существует определенной строки.
if grep -q "$user2" /etc/passwd; then
echo "User does exist!!"
Вот как я это написал, если хотел, чтобы строка существовала в файле, но как я могу изменить это так, чтобы он печатал «пользователь не существует», если пользователь не найден в файле / etc / passwd?
if ! grep ...
утверждение не сработало. Так что это альтернатива.Я решаю это простым одним вкладышем:
Команда проверит все файлы в каталоге с расширением txt и либо напишет строку поиска (т.е. «tasks:»), если найдена, либо имя файла.
источник
Вы можете использовать опцию grep "-L / --files-without-match" , чтобы проверить, не содержит ли файл строку:
источник