W moim skrypcie bash próbuję wydrukować wiersz, jeśli określony ciąg nie istnieje w pliku.
if grep -q "$user2" /etc/passwd; then
echo "User does exist!!"
Tak to napisałem, jeśli chciałem, aby ciąg istniał w pliku, ale jak mogę to zmienić, aby wydrukować „użytkownik nie istnieje”, jeśli nie ma go w pliku / etc / passwd?
if ! grep ...
stwierdzenie nie zadziałało. To jest alternatywa.Rozwiązuję to za pomocą jednej linijki:
Polecenie sprawdzi wszystkie pliki w katalogu z rozszerzeniem txt i albo napisze szukany ciąg (tj. „Zadania:”), jeśli zostanie znaleziony, albo nazwę pliku.
źródło
Możesz użyć opcji grep „-L / --files-without-match” , aby sprawdzić, czy plik nie zawiera łańcucha:
źródło