• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

DarkHipno

[BashScript] - Editar ficheiro

4 mensagens neste tópico

Boas tardes, não sei se é bem aqui que tenho de postar a minha duvida, também procurei mas não encontrei nada no fórum que me podesse ajudar.

É o seguinte necessito de um script que procure num ficheiro por exemplo o ficheiro de configuração do apache: httpd.conf  e que localiza-se a linha DirectoryIndex e que a substitui-se por "DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.php4 index.pl".

Isto é para integrar num ficheiro de instalação/configuração automatica do apache que estou a fazer para um projecto de aptidão tecnica (PAT).

Cumprimentos...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas. Não sei se é bem isto que pretendes, nem se é o melhor modo de o fazer. Mas tá aqui a minha ajuda.

#!/bin/bash
nfile1="/etc/httpd/httpd.conf"
nfile2="httpd.conf"
string="DirectoryIndex"
replace="    DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.php4 index.pl"

cline=`cat $nfile1 | grep -n $string | grep -v "#" | cut -f1 -d:`
let cline=$cline-1

head -n$cline $nfile1 > $nfile2
echo $replace >> $nfile2
let cline=$cline+1
let cline=`wc -l $nfile1 | tr ' ' '#' | cut -f1 -d'#'`-$cline
tail -n$cline $nfile1 >> $nfile2
mv $nfile2 $cfile1

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E não pode ser Perl?

$ perl -p -i -e 's/DirectoryIndex/DirectoryIndex index\.html index\.htm index\.shtml index\.cgi index\.php index\.php3 index\.php4 index\.pl/g' /etc/httpd/httpd.conf

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E não pode ser Perl?

$ perl -p -i -e 's/DirectoryIndex/DirectoryIndex index\.html index\.htm index\.shtml index\.cgi index\.php index\.php3 index\.php4 index\.pl/g' /etc/httpd/httpd.conf

Realmente slack_guy funciona melhor em perl. Obrigado a ambos pela ajuda ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora