Saya mencari bantuan dengan skrip kecil.
Saya ingin mencari semua file yang terkait
/usr/local/directadmin/data/users/*/httpd.conf
untuk string
centralized.log
Jika string tidak ada dalam file, saya ingin memasukkan 2 baris ke dalamnya.
Saat ini saya memiliki skrip berikut:
#!/bin/bash
if ! grep -q centralized.log /usr/local/directadmin/data/users/*/httpd.conf ; then
sed -i '33iCustomLog /var/log/centralized.log combined' /usr/local/directadmin/data/users/*/httpd.conf && sed -i '65iCustomLog /var/log/centralized.log combined' /usr/local/directadmin/data/users/*/httpd.conf
fi
Saat ini, jika string tidak ditemukan di salah satu file, garis dimasukkan ke semua file, dan jika string ditemukan di setidaknya satu file, tidak ada yang terjadi. Bisakah saya membuatnya sehingga baris bisa ditambahkan ke semua file di mana string tidak ada?
for
lingkaran, misalnyafor f in /usr/local/directadmin/data/users/*/httpd.conf ; do if ! grep -q centralized.log "$f" ; then sed -i ... "$f" ; fi ; done
.