Repository 32bit  Forum
Repository 64bit  Wiki

[bash] usare awk come wrapper file di testo

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

Re: [bash] usare awk come wrapper file di testo

Messaggioda Paoletta » mar nov 11, 2008 10:42

smtux ha scritto:domanda:
con awk sarebbe possibile riscrivere l'ipaddress nel file di configurazione della lan?
Intendo quel file che viene letto allo startup della rete.


supponendo che l'indirizzo ip che ti interessa stia in $ip e che ti interessi settare
eth0 con sed puoi fare qualcosa del genere:

Codice: Seleziona tutto
sed  "s/IPADDR\[0\]=\"\"/IPADDR\[0\]=\"$ip\"/" -i /etc/rc.d/rc.inet1.conf


e sei a posto; credo che la stessa cosa si possa fare tranquillamente anche con awk
Avatar utente
Paoletta
Staff
Staff
 
Messaggi: 3893
Iscritto il: dom apr 24, 2005 23:00
Località: Varese
Slackware: 13.1
Desktop: fluxbox

Re: [bash] usare awk come wrapper file di testo

Messaggioda d4z_c0nf » mar nov 11, 2008 11:01

Paoletta ha scritto:
smtux ha scritto:domanda:
con awk sarebbe possibile riscrivere l'ipaddress nel file di configurazione della lan?
Intendo quel file che viene letto allo startup della rete.


supponendo che l'indirizzo ip che ti interessa stia in $ip e che ti interessi settare
eth0 con sed puoi fare qualcosa del genere:

Codice: Seleziona tutto
sed  "s/IPADDR\[0\]=\"\"/IPADDR\[0\]=\"$ip\"/" -i /etc/rc.d/rc.inet1.conf


e sei a posto; credo che la stessa cosa si possa fare tranquillamente anche con awk


Per completezza, Paoletta ti ha fatto il caso in cui IPADDR[0] non sia settato, nel caso in cui sia settato o meno, la stessa linea diventa

Codice: Seleziona tutto
sed  "s/IPADDR\[0\]=\".*\"/IPADDR\[0\]=\"$ip\"/" -i /etc/rc.d/rc.inet1.conf


rock
Avatar utente
d4z_c0nf
Packager
Packager
 
Messaggi: 1293
Iscritto il: mar mar 14, 2006 18:07
Località: Salerno
Nome Cognome: Rocco Aliberti
Slackware: 14.1-64bit
Kernel: 3.10.17
Desktop: xfce

Re: [bash] usare awk come wrapper file di testo

Messaggioda smtux » mar nov 11, 2008 14:03

grazie mille.


curiosità: a cosa serve [0\] dopo il tag?



PS: ho visto che con awk devo usare la funzione gsub.
smtux
Linux 2.6
Linux 2.6
 
Messaggi: 977
Iscritto il: mer ago 31, 2005 23:00
Località: somewhere in the time
Slackware: 12.0

Re: [bash] usare awk come wrapper file di testo

Messaggioda conraid » mar nov 11, 2008 14:08

smtux ha scritto:grazie mille.


curiosità: a cosa serve [0\] dopo il tag?



\[0\] dice a sed di prendere la prima scheda di rete, ce ne sono più di una da poter configurare
Se vuoi modificare la seconda (normalmente eth1 per esempio) cambi \[0\] con \[1\]
Avatar utente
conraid
Staff
Staff
 
Messaggi: 11987
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: [bash] usare awk come wrapper file di testo

Messaggioda d4z_c0nf » mar nov 11, 2008 14:12

smtux ha scritto:grazie mille.


curiosità: a cosa serve [0\] dopo il tag?



PS: ho visto che con awk devo usare la funzione gsub.


che intendi per tag?...
in rc.inet1.conf la linea dell'ip è del tipo
IPADDRESS[0]=" o IPADDRESS[1]=" ecc ecc
se invece stai chiedendo a che serve \[ o \], come negl'altri casi, e per "dire" a sed di trattare quel carattere (dopo il backslash), come un carattere normale.
rock
Avatar utente
d4z_c0nf
Packager
Packager
 
Messaggi: 1293
Iscritto il: mar mar 14, 2006 18:07
Località: Salerno
Nome Cognome: Rocco Aliberti
Slackware: 14.1-64bit
Kernel: 3.10.17
Desktop: xfce

Precedente

Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite