Script shell para comentar e descomentar uma linha no arquivo

1

Eu tenho um arquivo listado em todos os servidores, por exemplo, lserver:

$ cat lserver
A1
A2
A3 

Eu quero criar um script de shell para comentar qualquer servidor do lserver exemplo:

$ stopm.sh A2
$ cat lserver 
A1
#A2
A3 

e descomente um servidor do lserver: exemplo

$ startm.sh A2
$ cat lserver
A1
A2
A3

Alguma sugestão?

    
por BOUABANE Raed 05.07.2018 / 12:49

3 respostas

2

Para comentar:

server=A2; sed -i "/^$server/ c#$server" file.txt

Para descomentar:

server=A2; sed -i "/^#$server/ c$server" file.txt

    
por 05.07.2018 / 13:35
0
(server=A2; sed -ir -e "s/^$server\$/#/")
    
por 05.07.2018 / 13:15
0
#!/bin/bash
server="$1"
case $2 in
start)
    sed -i "s/^#\($server\)\$//" lserver.txt
    ;;
stop)
    sed -i "s/^$server\$/#&/" lserver.txt
    ;;
esac

Salvar como server_ctrl e, em seguida, executar chmod u+x server_ctrl .

Uso:

 ./server_ctrl A2 start|stop
    
por 05.07.2018 / 13:36