Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

sed, sostituisce i caratteri ma raddoppia le righe...

7 views
Skip to first unread message

^Bart

unread,
Nov 13, 2023, 3:16:52 PM11/13/23
to
Ciao a tutti,

ho scriptato sed in questo modo:

sed -i -e 's/,/./gip' /home/test01/files.txt

Per chi lo conosce avrà già capito che il comando sostituisce
all'interno di un file tutte le virgole con il punto ma al termine del
lavoro mi raddoppia le righe, attività che mi sembra abbastanza assurda.

Sinceramente non capisco quale sia l'opzione che raddoppi le righe o
come fare perché questo non accada... torno a ri-studiarmi la man page... :\

Saluti.
^Bart

^Bart

unread,
Nov 13, 2023, 3:24:21 PM11/13/23
to
> Sinceramente non capisco quale sia l'opzione che raddoppi le righe o
> come fare perché questo non accada... torno a ri-studiarmi la man
> page... :\

File orginale:

Prova, 1245, prova, proprova
Pr, Ova, Iefzc, w322r

File dopo sed:

Prova. 1245. prova. proprova
Prova. 1245. prova. proprova
Pr. Ova. Iefzc. w322r
Pr. Ova. Iefzc. w322r

> Saluti.
> ^Bart

^Bart

unread,
Nov 13, 2023, 3:27:02 PM11/13/23
to
> File orginale:
>
> Prova, 1245, prova, proprova
> Pr, Ova, Iefzc, w322r
>
> File dopo sed:
>
> Prova. 1245. prova. proprova
> Prova. 1245. prova. proprova
> Pr. Ova. Iefzc. w322r
> Pr. Ova. Iefzc. w322r

Risolto in questo modo:

sed -i -e 's/,/./g; s/\r//g'

>
>> Saluti.
>> ^Bart
>

Piergiorgio Sartor

unread,
Nov 13, 2023, 3:30:50 PM11/13/23
to
Perche` non provi, oltre a ri-leggere la
man page (che risponde anche alla tua
domanda), a rimuovere "i" e/o "p" dai
parametri "gip"?

Vedi cosa succede.

Spoiler alert: se togli "p" non raddoppia
piu` le linee...

Perche` hai "i" e "p"?

bye,

--

piergiorgio

^Bart

unread,
Nov 14, 2023, 4:54:20 AM11/14/23
to
> Perche` non provi, oltre a ri-leggere la
> man page (che risponde anche alla tua
> domanda), a rimuovere "i" e/o "p" dai
> parametri "gip"?
>
> Vedi cosa succede.
>
> Spoiler alert: se togli "p" non raddoppia
> piu` le linee...

Corretto, in questo modo non mi riformatta il file, non mi raddoppia le
righe e mi lascia i delimitatori e gli "a capo" giusti quindi la query
sql non da problemi:

sed -i -e 's/,/./g'

In questo altro modo invece mi riformatta il file, non mi raddoppia le
righe ma alla fine la query sql tarata ad esempio per usare determinati
delimitatori fallisce:

sed -i -e 's/,/./g; s/\r//g'

> Perche` hai "i" e "p"?

Errore mio rispetto a quello che sarebbe servito.

> bye,

Saluti.
^Bart

Joe

unread,
Nov 14, 2023, 3:49:30 PM11/14/23
to
Anche il flag "-e" non serve a nulla in questo caso...

sed 's/,/./g' input.txt

così stampa il file modificato su standard output, a schermo.
Se aggiungi l'opzione -i, "in place", stampa la modifica sul
file originale, sovrascrivendolo quindi.

sed -i 's/,/./g' input.txt
0 new messages