Autor Tópico: Remover linha de um ficheiro através de um script  (Lida 1850 vezes)

Offline hraposo

  • Usuário Ubuntu
  • *
  • Mensagens: 343
    • Ver perfil
    • Página Pessoal Hélder Raposo
Remover linha de um ficheiro através de um script
« Online: 16 de Agosto de 2007, 15:56 »
Se eu num script colocar a linha:

echo "deb ftp://ftp.videolan.org/pub/videolan/ubuntu dapper universe" >> /etc/apt/sources.list

isto adiciona um repositório à sources.list.

Há alguma forma de apagar uma linha de um ficheiro ou de a comentar, num script?

alarcon

  • Visitante
Re: Remover linha de um ficheiro através de um script
« Resposta #1 Online: 16 de Agosto de 2007, 16:03 »
Se eu num script colocar a linha:

echo "deb ftp://ftp.videolan.org/pub/videolan/ubuntu dapper universe" >> /etc/apt/sources.list

isto adiciona um repositório à sources.list.

Há alguma forma de apagar uma linha de um ficheiro ou de a comentar, num script?

O comando sed é ótimo para estas coisas, leia sobre ele no manual:

man sed

ou

info sed

ou procure no google sobre o comando sed ok.

Por exemplo:

Atenção: Faça uma cópia de segurança do seu arquivo sources.list que se encontra em /etc/apt/.

Agora coloque estas três linhas ( copie e cole, é melhor ) no seu script:

Código: [Selecionar]
sed -e s/'"ftp:\/\/ftp.videolan.org\/pub\/videolan\/ubuntu"'/'"#ftp:\/\/ftp.videolan.org\/pub\/videolan\/ubuntu"'/g' /etc/apt/sources.list > /etc/apt/sources.list-1
rm -f /etc/apt/sources.list
mv /etc/apt/sources.list-1 /etc/apt/sources.list


veja se funciona.

Bom basicamente o que ele vai fazer é verificar no arquivo /etc/apt/sources.list se existe a linha:

ftp://ftp.videolan.org/pub/videolan/ubuntu

aí ele vai substituí-la por:

#ftp://ftp.videolan.org/pub/videolan/ubuntu

ou seja, vai comentá-la.

Se não existir a determinada linha no sources.list ele não vai fazer nada.
« Última modificação: 17 de Agosto de 2007, 11:37 por alarcon »