SED modifiare file con numeri
SED modifiare file con numeri
Salve come potrei scrivere un comando sed che compie questa operazione_?
file.txt:
1234567
123
1234
dopo il comando:
1.234.467
123
1.234
sto provando ma non so come far partire il controllo dalla fine della riga e non dall'inizio o di mettere il punto dopo ogni 3
file.txt:
1234567
123
1234
dopo il comando:
1.234.467
123
1.234
sto provando ma non so come far partire il controllo dalla fine della riga e non dall'inizio o di mettere il punto dopo ogni 3
Ultima modifica di rufy94s il venerdì 26 giugno 2015, 15:22, modificato 1 volta in totale.
- tokijin
- Moderatore Globale

- Messaggi: 4625
- Iscrizione: mercoledì 3 giugno 2009, 23:10
- Desktop: plasma 5.27.4
- Distribuzione: Kubuntu 23.04
- Località: Abruzzo
Re: Comando Sed Pt.2
Ti scrivo la stessa cosa che ti ho scritto in un altro topic: modifica anche qui il titolo con qualcosa che descriva meglio il tuo problema.
Ciao
Ciao
Sei abbruzzese se dopo che ti sei strafogato un chilogrammo di pasta, hai il coraggio di dire alla cuoca "cacc ch'è cott" - Se entra un piccione in casa..chiudi le finestre!
Ubuntu User #28657 - Il mio vecchio hardware - Tag Codice
Ubuntu User #28657 - Il mio vecchio hardware - Tag Codice
- crap0101
- Rampante Reduce

- Messaggi: 8242
- Iscrizione: martedì 30 ottobre 2007, 6:33
- Desktop: LXDE
- Distribuzione: Ubuntu 18.04.1 LTS
- Sesso: Maschile
- Località: TO
- Contatti:
Re: Comando Sed Pt.2
Codice: Seleziona tutto
crap0101@orange:/tmp/foo$ cat file.txt
1234567
123
1234
crap0101@orange:/tmp/foo$ rev file.txt | sed -r '/^.{1,3}$/! s/(.{3})/\1./g' | rev
1.234.567
123
1.234http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
Re: Comando Sed Pt.2
se lo uso nel mio terminale posso usare solo la parte del sed? cos'è rev?!crap0101 [url=http://forum.ubuntu-it.org/viewtopic.php?p=4773817#p4773817][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:penso si possa fare di meglio con le opzioni di formattazione del locale (e quindi usare qualsiasi comando in grado di stampare)... però forse in questo modo è più generico e funziona dappertutto.Codice: Seleziona tutto
crap0101@orange:/tmp/foo$ cat file.txt 1234567 123 1234 crap0101@orange:/tmp/foo$ rev file.txt | sed -r '/^.{1,3}$/! s/(.{3})/\1./g' | rev 1.234.567 123 1.234
- SuperStep
- Entusiasta Emergente

- Messaggi: 2037
- Iscrizione: lunedì 19 dicembre 2011, 16:26
- Desktop: Unity
- Distribuzione: Ubuntu 16.04 LTS x86_64
- Sesso: Maschile
- Località: Somma Vesuviana (NA)
Re: Comando Sed Pt.2
rev inverte uno stream riga per riga
Codice: Seleziona tutto
step@Mike:~$ echo "ciao" | rev
oaic
ubuntu 16.04 LTS 64-bit - Memoria: 31,3 Gib - Processore: Intel Core i7-5960X CPU @ 3.00 GHz × 16 - Grafica: AMD Radeon HD 7800 Series - Disco: SSD 256 GB x 4 (RAID 01)
Re: Comando Sed Pt.2
ok ho capito ma io volevo qualcosa solo con il sed cioè modificare un file (basta anche solo output sul terminale) cioè tipo cambiare ciao con oaic facevo
" sed 's/ciao/oaic/g' miofile"
e se basta
" sed 's/ciao/oaic/g' miofile"
e se basta
me la spieghi cioe il -r il !sed -r '/^.{1,3}$/! s/(.{3})/\1./g'
- crap0101
- Rampante Reduce

- Messaggi: 8242
- Iscrizione: martedì 30 ottobre 2007, 6:33
- Desktop: LXDE
- Distribuzione: Ubuntu 18.04.1 LTS
- Sesso: Maschile
- Località: TO
- Contatti:
Re: SED modifiare file con numeri
no, non basta, per quello ho usato rev, che mi pare molto più leggibile della roba che ti segnalavo nell'altro post: http://forum.ubuntu-it.org/viewtopic.ph ... 2#p4774062
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
Re: SED modifiare file con numeri
te lo dico xk e un esercizio del professore dell'unniversita e non credo di avere fatto rev e pensavo che si doveva usare solo sed....
mi spieghi cmq cosa fai con sed?!
mi spieghi cmq cosa fai con sed?!
- crap0101
- Rampante Reduce

- Messaggi: 8242
- Iscrizione: martedì 30 ottobre 2007, 6:33
- Desktop: LXDE
- Distribuzione: Ubuntu 18.04.1 LTS
- Sesso: Maschile
- Località: TO
- Contatti:
Re: SED modifiare file con numeri
se è un'esercizio allora prova a produrre tu qualcosa, e poi nel caso ti si aiuta a correggerlo.rufy94s [url=http://forum.ubuntu-it.org/viewtopic.php?p=4774069#p4774069][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:te lo dico xk e un esercizio del professore dell'unniversita e non credo di avere fatto rev e pensavo che si doveva usare solo sed....
mi spieghi cmq cosa fai con sed?!
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
Re: SED modifiare file con numeri
io poi il comando sed non lo scrivo come te ... cioè dove hai messo il punto io metto prima uno \ perchè è un carattere speciale e metterei un ; alla fine del ! non so io sono riuscito a scrivere un comando sed dove me li scrive bene ma se metto un numero di 7 cifre non lo fa bene cioè ho
1234567
mi restituisce
1234.567
cioè fa solo i primi 3 anche se nel comando ho messo la g ....
1234567
mi restituisce
1234.567
cioè fa solo i primi 3 anche se nel comando ho messo la g ....
- crap0101
- Rampante Reduce

- Messaggi: 8242
- Iscrizione: martedì 30 ottobre 2007, 6:33
- Desktop: LXDE
- Distribuzione: Ubuntu 18.04.1 LTS
- Sesso: Maschile
- Località: TO
- Contatti:
Re: SED modifiare file con numeri
appunto per questo non ci va.rufy94s [url=http://forum.ubuntu-it.org/viewtopic.php?p=4774097#p4774097][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:io poi il comando sed non lo scrivo come te ... cioè dove hai messo il punto io metto prima uno \ perchè è un carattere speciale
perchè?e metterei un ; alla fine del !
bho! ti ho scritto un comando funzionante e linkato la doc con un esempio adattabile; dici che ne hai scritto uno non funzionante ma non lo riporti (eventualmente per correggerlo) e dalle domande precedenti ho il forte sospetto che non hai neanche letto il man o uno degli innumerevoli how-to presenti in rete (tipo la doc precedentemente linkata)... quo vadis?non so io sono riuscito a scrivere un comando sed dove me li scrive bene ma se metto un numero di 7 cifre non lo fa bene cioè ho
1234567
mi restituisce
1234.567
cioè fa solo i primi 3 anche se nel comando ho messo la g ....
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
Re: SED modifiare file con numeri
non ti preoccupare che di letture me ne so fatte tante e per questo ho chiesto aiuto non capisco davvero cmq questo è il mio codice
Codice: Seleziona tutto
sed 's/[0-9]\{3\}$/.&/g; s/^\.//g' miofile.txt- crap0101
- Rampante Reduce

- Messaggi: 8242
- Iscrizione: martedì 30 ottobre 2007, 6:33
- Desktop: LXDE
- Distribuzione: Ubuntu 18.04.1 LTS
- Sesso: Maschile
- Località: TO
- Contatti:
Re: SED modifiare file con numeri
non va bene perchè, anche se usi 'g', il match lo fai a fine stringarufy94s ha scritto:non ti preoccupare che di letture me ne so fatte tante e per questo ho chiesto aiuto non capisco davvero cmq questo è il mio codice
Codice: Seleziona tutto
sed 's/[0-9]\{3\}$/.&/g; s/^\.//g' miofile.txt
per cui non ci sarà in ogni caso più niente da matchare.\{3\}$
Per cui le soluzioni sono due: utilizzi il comando che ho scritto prima, integrandolo con qualcosa tipo il codice del link che avevo postato per sostituire i rev, oppure eviti l'inversione ma complichi un pò di più il comando con qualche branch (che comunque va usato anche nell'altro caso) siccome devi per forza di cose analizzare più volte la stringa e non puoi farlo in una sola passata.
http://www.gnu.org/ http://boinc.berkeley.edu/ http://www.python-it.org/
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
- Ricorda le ultime parole di suo padre: «Sta' alla larga dalle chiese, figlio. La sola cosa per cui hanno la chiave è il merdaio. E giurami che non porterai mai un distintivo della legge» - W.S. Burroughs
Re: SED modifiare file con numeri
ok allora può spiegarmi il tuo comandoc on il rev?! dico tutto xk non capisco alcune parti.
Comunque il mio problema era proprio quello che controllava solo le ultime 3 cifre e non lo ripeteva per quelle dopo pensavo che c'era qualche modo per permetterlo....
Comunque il mio problema era proprio quello che controllava solo le ultime 3 cifre e non lo ripeteva per quelle dopo pensavo che c'era qualche modo per permetterlo....
Re: SED modifiare file con numeri
niente?! mi basta sapre quel -r davanti al sed i punti ! e il xk come mai non si mettono i ; tra le due sostituzioni e gli \ davanti alle parentesi graffe
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 6 ospiti