2009-05-07 5 views
6

Ho difficoltà a cercare di rimuovere i due punti in un elenco di indirizzi MAC.Come si rimuovono i due punti da un elenco di indirizzi MAC?

Il mio file:

00:21:5A:28:62:BF 
00:24:81:0A:04:44 

Output previsto:

00215A2862BF 
0024810A0444 

Tutte le idee su come avrei potuto fare questo? Grazie mille in anticipo.

+1

perché i voti negativi? Bene, è una domanda abbastanza ingenua, ma va bene, no? –

risposta

13

Attribuite i tag, si vuole realizzare questo in un guscio:

cat file | sed s/://g 

edit: non ha realmente bisogno la cat o se si sta leggendo da un file:

sed s/://g file 
+0

Questo è stato estremamente veloce! Grazie mille! – nmuntz

+0

Non è un uso inutile del gatto? il file sed s /: // g funzionerebbe altrettanto bene senza dover richiamare un altro processo. Vedi http://partmaps.org/era/unix/award.html –

+2

Se vuoi modificare il file, basta aggiungere l'opzione '-i' al comando sed:' sed -is /: // g file 'che modificherà il file in luogo invece di stampare il risultato. –

1
echo "00:21:5A:28:62:BF" | sed -e 's/://g' 
00215A2862BF 
+0

Grazie mille! Questo è esattamente quello che volevo! – nmuntz

7
perl -pe "s/://g" yourfile 
+0

L'uso di entrambi -n e -p è inutile. Fanno la stessa cosa, tranne -p stampe dopo aver eseguito il codice, mentre -n no. – zigdon

+0

D'accordo, ho dimenticato di cancellare la 'n'. –

1

tr -d ':' < file di

probabilmente funzionerà anche se non ho una riga di comando a portata di mano per controllare la sintassi.