Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

DarkHipno

[BashScript] - Editar ficheiro

Mensagens Recomendadas

DarkHipno    0
DarkHipno

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...

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Serafim    0
Serafim

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
slack_guy    0
slack_guy

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
DarkHipno    0
DarkHipno

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 ;)

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


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade