Automatické zakomentování určitých direktiv v .htaccessu

pokus

Dobrý den,

snařím se v bashi napsat skript, kterž by prošel rekurzivně všechny adresáře, našel v nich .htaccessy a zakomentoval by nepovolené direkrivy. Skript  už i +/- funguje, ale protože používám příkaz read pro čtení .htaccessu a zakomentování direktiv je to návhylné na správné ukončení souboru tzn. prázdný řádek na konci souboru. Pokud je soubor ukončen za koncem textu tak se poslední řátek neuloží do nového htaccessu. Má otázka zní, exstuje nějaký ekvivalentní příkaz k read, který by četl soubor po řádcích a nehleděl na ukončovací znaky?? Děkuji

for i in $(find $TMPDIR -iname ".htaccess")
do
    while read line           
    do           
        echo -e "$line" | sed 's/Options -Indexes/\#Options -Indexes/' | sed 's/php_flag engine on/\#php_flag engine on/' | sed 's/php_flag engine off/\#php_flag engine off/' >>$TMPDIR/../.htaccess_tmp
    done <$i
    mv $TMPDIR/../.htaccess_tmp $i

done


poustevnik

Re:Automatické zakomentování určitých direktiv v .htaccessu
« Odpověď #1 kdy: 16. 01. 2015, 12:33:32 »
co takhle tam na začátku ten konec řádku natvrdo přidat?

echo >> .htaccess

Re:Automatické zakomentování určitých direktiv v .htaccessu
« Odpověď #2 kdy: 16. 01. 2015, 12:42:06 »
Zkus tohle:

Kód: [Vybrat]
find "$TMPDIR" -iname ".htaccess" |
while read FILE; do
    sed -i -r 's/(Options -Indexes|php_flag engine (on|off))/#\1/' "$FILE"
done

pokus

Re:Automatické zakomentování určitých direktiv v .htaccessu
« Odpověď #3 kdy: 16. 01. 2015, 13:13:33 »
Dobrý den,

použil jsemdruhou radu a funguje to. Děkuji za super nápad.

David1234

Re:Automatické zakomentování určitých direktiv v .htaccessu
« Odpověď #4 kdy: 16. 01. 2015, 14:18:06 »
Možná by to šlo ještě trošku vylepšit použitím -exec přímo v příkazu find.


pokus

Re:Automatické zakomentování určitých direktiv v .htaccessu
« Odpověď #5 kdy: 16. 01. 2015, 14:38:31 »
Dobrý den,

ještě bych chtěl kromě úpravy .htaccessu přidat do složky tmp upravený bigdump. Tzn, prošel bych celý bigdump.php pomocí bashe a našel a upravil toto:

$db_name     = '';
$db_username = '';
$db_password = '';

Pokoušel jsem se upravit předchozí příklad z .htaccessem, ale nedaří se mi dobře "escapovat" znaky jako $ ''; abych mohl dovnitř úvozovek vložit hodnoty. Poradíte mi?
Děkuji

e3k

Re:Automatické zakomentování určitých direktiv v .htaccessu
« Odpověď #6 kdy: 16. 01. 2015, 18:09:16 »
pouzi \