Newsgroup: it.comp.os.linux.sys
Titolo: Richiesta comando shell

Ciao a tutti!
Chiedo a scusa per la banalità della domanda, ma ho bisogno urgente di
questo comando. Utilizzando il comando SED dovrei fare in modo che,
ogni volta che incontro una stringa che termina con i due punti da
essa i due punti vengano rimossi.
Ringrazio in anticipo chiunque possa aiutarmi.
--
Marco.


sed -e 's/://g' file
ti va bene ?


Questa fa danni, toglie tutti i ":" presenti....


wrote:

Quasi... Questo comando elimina tutti i due punti dalle stringhe,
mentre io devo toglierli solo se essi sono l'ultimo carattere della
stringa.
Grazie tanto per l'aiuto, mi puoi dare una mano anche per quest'ultima
modifica?
--
Marco.

 - Mostra testo tra virgolette -
Ultima cosa... se una stringa è formata dai soli due punti, non deve
essere toccata.
Grazie, mi stai salvando :-)
--
Marco.

 stringa.
sed -e "s/:$//g"

 essere toccata.
s/^\(..*\):$/\1/
-- 
Flavio Visentin
Membro del CICAP
Comitato Italiano per il Controllo delle Affermazioni di P4

 wrote:

Ciao!
Grazie per l'aiuto... Ho provato, ma purtroppo questo comando non
rimuove i due punti.
--
Marco.

 Flavio Visentin
Anche questo lascia il file inalterato...
--
Marco.

 Anche questo lascia il file inalterato...
ma anche no:
echo -ne "linea di prova:\nlinea: 2 di prova:\n:\ntest finale\n" |\
    sed 's/^\(..*\):$/\1/'
linea di prova
linea: 2 di prova
:
test finale


 Anche questo lascia il file inalterato...
$ echo "uno" > x
$ echo "due:" >> x
$ echo ":" >> x
$ sed -e "s/^\(..*\):$/\1/" x
uno
due
:
Non è che è ci sono dei caratteri strani a fine riga? (es. CRLF anzichè
LF come nei file DOS)

 wrote:

Forse ho capito dove sta il problema. Dopo i due punti c'è sempre un
carattere di tabulazione. In questo caso l'espressione da utilizzare
cambia?
--
Marco.

 cambia?
Mi pare che una mano (anche tre) ti sia stata data. Cosa ne dici di un man
regex visto il gruppo dove stai postando?
Bye.


Hai ragione. Il problema, come avevo precisato, è che ho bisogno
urgentemente di questo comando (entro stamattina devo consegnare il
tutto). Ho provato a guardare le espressioni regolari, ma è la prima
volta che le affronto e non sono riuscito a venirne a capo, quindi
speravo che qualcuno potesse aiutarmi.
Chiedo scusa a tutti per l'invadenza.
--
Marco.


Certo. Devi aggiungere la tabulazione tra ":" e "$".
Ciao,
-- 
        Roberto Divia`              Love at first sight is one of the greatest
Dep:PH Bat:53 Mailbox:C02110      labour-saving devices the world has ever seen
Route de Meyrin 385               ---------------------------------------------
Case Postale                                Phone:  
+41-22-767-4994
CH-1211 Geneve 23 CERN                      Fax:    
+41-22-767-9585
Switzerland                                 E-Mail: 
Robert...@cern.ch

 speravo che qualcuno potesse aiutarmi.
La mano ti è stata *abbondantemente* data. Tu vuoi il braccio e tutto il
corpo. 
-- 
Vide
echo '[q]sa[ln0=aln256%Pln256/snlbx]sb3135071790101768542287578439snlbxq'|dc

 Vide
Se avessi saputo di doverle utilizzare (e soprattutto con più calma)
le avrei studiate per tempo, ma è saltato fuori un problema
improvviso, dovuto ad un lavoro che io non avevo neanche mai toccato.
Io non voglio né il braccio né il corpo, speravo solo di poter trovare
una soluzione ad un problema che mi sta procurando non poche grane e
che appartiene ad un settore totalmente diverso da quello a cui mi
dedico di solito, ragion per cui ho poca esperienza. Se a questo sommi
il pochissimo tempo che ho per risolvere l'inconveniente, dovresti
capire il motivo della mia richiesta.
--
Marco.

 capire il motivo della mia richiesta.
Sí ma ti danno la risposta per la domanda che poni e tu dici "non funziona",
salvo poi specificare che è perchè hai un tab fra i : e la fine della riga.
A sto punto ti han fatto il 90% della regexp, cerca TU un attimo su Google
come si indica un carattere di tabulazione in una regexp invece di
continuare a chiedere qua, no? La mano, ripeto, te l'hanno già data.


 ... ma ho bisogno urgente di questo comando...
(Ripetendo quanto appena detto) Se hai fretta non
giocare a "questo e` giusto, questo e` sbagliato"
ma fai qualche esempio di quello che vuoi ottenere.