Cerca e sostituisci
Moderatore: Staff
Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
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.
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
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.
Cerca e sostituisci
Ciao a tutti,
esiste un comando in linux che riesce a fare un "cerca xxx e lo sostituisce con yyy" ?
Ringrazio tutti anticipatamente...
Ag
esiste un comando in linux che riesce a fare un "cerca xxx e lo sostituisce con yyy" ?
Ringrazio tutti anticipatamente...
Ag
- MAT
- Linux 4.x

- Messaggi: 1242
- Iscritto il: mer 9 mar 2005, 0:00
- Nome Cognome: Matteo Magni
- Kernel: 2.6.20
- Desktop: Fluxbox
- Distribuzione: Gentoo
- Località: Vignola, Modena
Codice: Seleziona tutto
man tr- masalapianta
- Iper Master

- Messaggi: 2775
- Iscritto il: lun 25 lug 2005, 0:00
- Nome Cognome: famoso porco
- Kernel: uname -r
- Desktop: awesome
- Distribuzione: Debian
- Località: Roma
- Contatta:
strada piu' difficile? se devi sostituire la stringa aaa con la stringa bbb in tutti i file contenuti in una directory fai prima a fare for i in /path/dir/*;do cat $i|sed 's/aaa/bbb/g'>/tmp/aaa2bbb.tmp && mv tmp/aaa2bbb.tmp /path/dir/$i;done oppure a lanciare OO.o, aspettare 3/4 d'ora che si apra, aprire il primo file, clickare nel menu apposito, inserire la stringa da cercare e quella da sostituire negli appositi campi, cliccare su ok, cliccare per salvare il file, cliccare per chiuderlo, cliccare per aprire il secondo file, clickare nel menu apposito, inserire la stringa da cercare e quella da sostituire negli appositi campi, cliccare su ok, cliccare per salvare il file, cliccare per chiuderlo, cliccare per aprire il terzo file, clickare nel menu apposito, inserire la stringa da cercare e quella da sostituire negli appositi campi, cliccare su ok, cliccare per salvare il file, cliccare per chiuderlo, cliccare per aprire il quarto file, ecc... ecc...?bit123 ha scritto:Il Picciotto ha scelto la strada più difficile perché alla fine avrà imparato qualcosa in più. Bravo! Baciamo le mani!
Grazie a tutti ragazzi, penso che la strada piu conveniente sia usare il sed..
l'ho provato e funziona tutto..
l'unica cosa che noon mi viene è sostituire anche il caratterre / ?
per esempio se dovessi sostituire la stringa </loc> con uno spazio vuoto cosa dovrei scrivere?
sed 's/</loc>//g/' nome_file_input produrrebbe errore, raga mi rinfrescate le idee sui caratteri di escape? a causa del lavoro è un po' che sto trascurando linux e piano piano si tende a dimenticare..
Grazie
ag
l'ho provato e funziona tutto..
l'unica cosa che noon mi viene è sostituire anche il caratterre / ?
per esempio se dovessi sostituire la stringa </loc> con uno spazio vuoto cosa dovrei scrivere?
sed 's/</loc>//g/' nome_file_input produrrebbe errore, raga mi rinfrescate le idee sui caratteri di escape? a causa del lavoro è un po' che sto trascurando linux e piano piano si tende a dimenticare..
Grazie
ag
- MAT
- Linux 4.x

- Messaggi: 1242
- Iscritto il: mer 9 mar 2005, 0:00
- Nome Cognome: Matteo Magni
- Kernel: 2.6.20
- Desktop: Fluxbox
- Distribuzione: Gentoo
- Località: Vignola, Modena
Devi usare il carattere di escape \, quindi diventerebbe
Codice: Seleziona tutto
sed 's/<\/loc>//g' nome_file_input- targzeta
- Iper Master

- Messaggi: 6643
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Solo una precisazione, credo che nella nuova versione di sed non ci sia più bisogno di fare il "trucchetto" del file temporaneo, dovrebbero aver messo un opzione per effettuare le modifiche direttamente sul file di input. Su questo computer ho la Slack 10.0 e la versione di sed è la 3.02.masalapianta ha scritto: ... for i in /path/dir/*;do cat $i|sed 's/aaa/bbb/g'>/tmp/aaa2bbb.tmp && mv tmp/aaa2bbb.tmp /path/dir/$i;done
Se qualcuno ha una versione superiore di sed, più darmi comferma? La Slack 10.2 mi sebra che abbia versione più aggiornata. On line, nella pagina della gnu ho trovato solo il man della versione 3.02.
Grazie mille
Spina


