tentando adicionar texto antes e depois de algum texto

1

Eu tentei os seguintes comandos:

  1. A execução da linha abaixo fornece o texto de saída mencionado.

    cat $tmp_list_address | sort | uniq | sed 's/^/address=\//;s/$/\/192.168.1.1/' > $tmp_list_final
    
  2. A execução da linha abaixo fornece o texto de saída mencionado.

    sed -i 's/.*/address=&\/192.168.1.1/' $tmp_list_address
    
  3. Eu até tentei fazer as coisas separadamente. O seguinte adiciona a parte address= . mas quando ele tenta adicionar o IP no final, ele muda para o texto de saída abaixo.

    sed -i 's/^/address=/' $tmp_list_address
    sed -i 's/$/$pixelserv_ip/' $tmp_list_ip
    

A lista original é aquela que estou tentando obter, onde espaços em branco e espaços em branco também estão sendo salvos, e estou removendo-os antes de tentar adicionar texto.

curl -s http://www.malwaredomainlist.com/hostslist/hosts.txt | grep -v "#" | sed '/^$/d' | sed 's/\ /\ /g' | awk '{print $3}' | grep -v '^\' | grep -v '\$' | sort >> $tmp_list

sed -i 's/^ *//; s/ *$//; /^$/d' $tmp_list

Saída desejada:

address=/0koryu0.easter.ne.jp/0.0.0.0
address=/109-204-26-16.netconnexion.managedbroadband.co.uk/0.0.0.0
address=/11.lamarianella.info/0.0.0.0

Observação: 0.0.0.0 também pode ser outro endereço IP, como 192.168.1.1 .

texto de entrada:

0koryu0.easter.ne.jp
109-204-26-16.netconnexion.managedbroadband.co.uk
11.lamarianella.info
1866809.securefastserver.com
2amsports.com
3.bluepointmortgage.com

Texto de saída:

/10.0.0.1109-204-26-16.netconnexion.managedbroadband.co.uk
/10.0.0.111.lamarianella.info
/10.0.0.11866809.securefastserver.com
/10.0.0.12amsports.com
/10.0.0.13.bluepointmortgage.com
    
por Tormuj 30.10.2016 / 18:07

1 resposta

0

Use o agrupamento sed.

curl -s http://www.malwaredomainlist.com/hostslist/hosts.txt | sed 's#^\([0-9.]*\)  \([a-z0-9.]*\)#address=//0.0.0.0#'
    
por 30.10.2016 / 18:27