Dalam skrip bash saya, saya mencoba untuk mencetak garis jika string tertentu tidak ada dalam file.
if grep -q "$user2" /etc/passwd; then
echo "User does exist!!"
Ini adalah bagaimana saya menulisnya jika saya ingin string ada di file tetapi bagaimana saya bisa mengubah ini untuk membuatnya mencetak "pengguna tidak ada" jika pengguna tidak ditemukan dalam file / etc / passwd?
if ! grep ...
pernyataan negatif itu tidak berhasil. Jadi ini merupakan alternatif.Saya menyelesaikannya dengan liner sederhana:
Perintah akan memeriksa semua file dalam direktori dengan ekstensi txt dan menulis string pencarian (yaitu "tugas:") jika ditemukan atau nama file tersebut.
sumber
Anda dapat menggunakan opsi grep "-L / --files-without-match" , untuk memeriksa apakah file tidak mengandung string:
sumber