Pagina 1 di 1
[Risolto] ho un file: come faccio a sostituire una stringa con degli "a capo"?
Inviato: venerdì 8 ottobre 2010, 11:34
da androide74
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)
Re: ho un file: come faccio a sostituire una stringa con degli "a capo"?
Inviato: venerdì 8 ottobre 2010, 12:03
da Starless
Prova da terminale così (fatti una copia del file per cautela):
Re: ho un file: come faccio a sostituire una stringa con degli "a capo"?
Inviato: venerdì 8 ottobre 2010, 12:36
da androide74
Starless ha scritto:
Prova da terminale così (fatti una copia del file per cautela):
(good) grande!
però se invece di '[' voglio sostituire '{' non funziona...
Re: ho un file: come faccio a sostituire una stringa con degli "a capo"?
Inviato: venerdì 8 ottobre 2010, 12:46
da androide74
androide74 ha scritto:
(good) grande!
però se invece di '[' voglio sostituire '{' non funziona...
ah basta fare così:
ma come funziona?
s=sostituisci
g=??
e se invece di un \n voglio inserire un TAB?
Re: [Risolto] ho un file: come faccio a sostituire una stringa con degli "a capo"?
Inviato: venerdì 8 ottobre 2010, 13:10
da Starless
androide74 ha scritto:
ma come funziona?
s=sostituisci
g=??
s=search
g=global replacement
androide74 ha scritto:
e se invece di un \n voglio inserire un TAB?
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
Re: [Risolto] ho un file: come faccio a sostituire una stringa con degli "a capo"?
Inviato: venerdì 8 ottobre 2010, 13:41
da androide74
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
grazie mille, quando avrò tempo ci studierò un po'

Re: [Risolto] ho un file: come faccio a sostituire una stringa con degli "a capo"?
Inviato: venerdì 8 ottobre 2010, 16:02
da Starless
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 ::)