Sederhanakan saja :)
grep + gema harus cukup:
grep -qxF 'include "/configs/projectname.conf"' foo.bar || echo 'include "/configs/projectname.conf"' >> foo.bar
-qdiamlah-xcocok dengan seluruh baris-Fpola adalah string biasa- https://linux.die.net/man/1/grep
Edit:masukkan saran @cerin dan @thijs-wouters .
Coba ini:
grep -q '^option' file && sed -i 's/^option.*/option=value/' file || echo 'option=value' >> file
Ini akan menjadi solusi yang bersih, mudah dibaca, dan dapat digunakan kembali menggunakan grep dan echo untuk menambahkan baris ke file hanya jika belum ada:
LINE='include "/configs/projectname.conf"'
FILE='lighttpd.conf'
grep -qF -- "$LINE" "$FILE" || echo "$LINE" >> "$FILE"
Jika Anda perlu mencocokkan seluruh baris, gunakan grep -xqF
Tambahkan -s untuk mengabaikan kesalahan saat file tidak ada, buat file baru hanya dengan baris itu.