[Risolto] ho un file: come faccio a sostituire una stringa con degli "a capo"?
- androide74
- Scoppiettante Seguace

- Messaggi: 875
- Iscrizione: martedì 1 luglio 2008, 14:30
- Desktop: GNOME e Xfce
- Distribuzione: 20.04 LTS
- Sesso: Maschile
- Località: Comunità Europea
- Contatti:
[Risolto] ho un file: come faccio a sostituire una stringa con degli "a capo"?
Mettiamo che ho un file enorme, voglio inserire un "a capo" prima di ogni parentesi quadra.
Con la funzione "cerca e sostituisci" non è possibile digitare caratteri "strani" come il TAB o il LF.
Ho provato a fare:
cerca '['
sostituisci '\n['
ma sostituisce le due stringhe e non inserisce la nuova linea.
C'è qulache editor che permetta ciò?
C'è qualche modo per "ingannare questi editor? codici ascii? codici escape?
Oppure sono costretto a creare uno script? (ma non saprei da che parte cominciare)
Con la funzione "cerca e sostituisci" non è possibile digitare caratteri "strani" come il TAB o il LF.
Ho provato a fare:
cerca '['
sostituisci '\n['
ma sostituisce le due stringhe e non inserisce la nuova linea.
C'è qulache editor che permetta ciò?
C'è qualche modo per "ingannare questi editor? codici ascii? codici escape?
Oppure sono costretto a creare uno script? (ma non saprei da che parte cominciare)
Ultima modifica di androide74 il venerdì 8 ottobre 2010, 12:48, modificato 1 volta in totale.
Ubuntu 20.04 LTS
- Starless
- Entusiasta Emergente

- Messaggi: 2020
- Iscrizione: domenica 10 giugno 2007, 11:45
- Località: Martina Franca (TA)
Re: ho un file: come faccio a sostituire una stringa con degli "a capo"?
Prova da terminale così (fatti una copia del file per cautela):
Codice: Seleziona tutto
sed -i 's/\[/\n[/g' nome_fileBasilicata Linux Users Group: http://www.baslug.org
Moto Club Martina Franca: http://www.mcmartinafranca.it
Puglia Enduro: http://www.pugliaenduro.it
Ricerca: http://folding.stanford.edu/Italian/Main e http://www.worldcommunitygrid.org/
Moto Club Martina Franca: http://www.mcmartinafranca.it
Puglia Enduro: http://www.pugliaenduro.it
Ricerca: http://folding.stanford.edu/Italian/Main e http://www.worldcommunitygrid.org/
- androide74
- Scoppiettante Seguace

- Messaggi: 875
- Iscrizione: martedì 1 luglio 2008, 14:30
- Desktop: GNOME e Xfce
- Distribuzione: 20.04 LTS
- Sesso: Maschile
- Località: Comunità Europea
- Contatti:
Re: ho un file: come faccio a sostituire una stringa con degli "a capo"?
(good) grande!Starless ha scritto: Prova da terminale così (fatti una copia del file per cautela):
Codice: Seleziona tutto
sed -i 's/\[/\n[/g' nome_file
però se invece di '[' voglio sostituire '{' non funziona...
Ubuntu 20.04 LTS
- androide74
- Scoppiettante Seguace

- Messaggi: 875
- Iscrizione: martedì 1 luglio 2008, 14:30
- Desktop: GNOME e Xfce
- Distribuzione: 20.04 LTS
- Sesso: Maschile
- Località: Comunità Europea
- Contatti:
Re: ho un file: come faccio a sostituire una stringa con degli "a capo"?
ah basta fare così:androide74 ha scritto: (good) grande!
però se invece di '[' voglio sostituire '{' non funziona...
Codice: Seleziona tutto
sed -i 's/{/\n{/g' nome_files=sostituisci
g=??
e se invece di un \n voglio inserire un TAB?
Ultima modifica di androide74 il venerdì 8 ottobre 2010, 12:52, modificato 1 volta in totale.
Ubuntu 20.04 LTS
- Starless
- Entusiasta Emergente

- Messaggi: 2020
- Iscrizione: domenica 10 giugno 2007, 11:45
- Località: Martina Franca (TA)
Re: [Risolto] ho un file: come faccio a sostituire una stringa con degli "a capo"?
s=searchandroide74 ha scritto: ma come funziona?
s=sostituisci
g=??
g=global replacement
Invece di \n metti \t.androide74 ha scritto: e se invece di un \n voglio inserire un TAB?
Comunque il comando sed e awk sono dei comandi potentissimi ed allo stesso tempo molto complessi però se si sa dove mettere le mani puoi fare di tutto con le stringhe. Tra l'altro sono molto usati negli ambienti UNIX all'interno degli script.
Su Internet trovi moltissime guide ed esempi.
Ecco un assaggino http://www.grymoire.com/Unix/Sed.html
Basilicata Linux Users Group: http://www.baslug.org
Moto Club Martina Franca: http://www.mcmartinafranca.it
Puglia Enduro: http://www.pugliaenduro.it
Ricerca: http://folding.stanford.edu/Italian/Main e http://www.worldcommunitygrid.org/
Moto Club Martina Franca: http://www.mcmartinafranca.it
Puglia Enduro: http://www.pugliaenduro.it
Ricerca: http://folding.stanford.edu/Italian/Main e http://www.worldcommunitygrid.org/
- androide74
- Scoppiettante Seguace

- Messaggi: 875
- Iscrizione: martedì 1 luglio 2008, 14:30
- Desktop: GNOME e Xfce
- Distribuzione: 20.04 LTS
- Sesso: Maschile
- Località: Comunità Europea
- Contatti:
Re: [Risolto] ho un file: come faccio a sostituire una stringa con degli "a capo"?
grazie mille, quando avrò tempo ci studierò un po'Starless ha scritto: Invece di \n metti \t.
Comunque il comando sed e awk sono dei comandi potentissimi ed allo stesso tempo molto complessi però se si sa dove mettere le mani puoi fare di tutto con le stringhe. Tra l'altro sono molto usati negli ambienti UNIX all'interno degli script.
Su Internet trovi moltissime guide ed esempi.
Ecco un assaggino http://www.grymoire.com/Unix/Sed.html
Ubuntu 20.04 LTS
- Starless
- Entusiasta Emergente

- Messaggi: 2020
- Iscrizione: domenica 10 giugno 2007, 11:45
- Località: Martina Franca (TA)
Re: [Risolto] ho un file: come faccio a sostituire una stringa con degli "a capo"?
A titolo informativo io uso dei programmi grafici per fare sostituzioni in più file (anche sostituzioni ricorsive) e rinominare i nomi dei file. Trovi tutto nei repository:
1) regexxer: per sostituzione di stringhe all'interno di file
2) pyrenamer e gprename: per modificare i nomi dei file
3) tkdiff: per vedere le differenze del contenuto di due file
Ovviamente imparare sed e awk è molto meglio perchè come ti ho già detto sono molto molto potenti.
Poi unendoli ad altri comandi come find ad esempio ottieni qualcosa di sconvolgente ::)
1) regexxer: per sostituzione di stringhe all'interno di file
2) pyrenamer e gprename: per modificare i nomi dei file
3) tkdiff: per vedere le differenze del contenuto di due file
Ovviamente imparare sed e awk è molto meglio perchè come ti ho già detto sono molto molto potenti.
Poi unendoli ad altri comandi come find ad esempio ottieni qualcosa di sconvolgente ::)
Basilicata Linux Users Group: http://www.baslug.org
Moto Club Martina Franca: http://www.mcmartinafranca.it
Puglia Enduro: http://www.pugliaenduro.it
Ricerca: http://folding.stanford.edu/Italian/Main e http://www.worldcommunitygrid.org/
Moto Club Martina Franca: http://www.mcmartinafranca.it
Puglia Enduro: http://www.pugliaenduro.it
Ricerca: http://folding.stanford.edu/Italian/Main e http://www.worldcommunitygrid.org/
Chi c’è in linea
Visualizzano questa sezione: Bing [Bot], corradoventu, Google [Bot] e 3 ospiti