2009-05-07 21 views
6

Me está resultando difícil tratar de eliminar los dos puntos en una lista de direcciones MAC.¿Cómo elimino dos puntos de una lista de direcciones MAC?

Mi archivo:

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

Resultados esperados:

00215A2862BF 
0024810A0444 

Alguna idea sobre cómo podría hacer esto? Muchas gracias de antemano.

+1

¿por qué los votos negativos? Bien, es una pregunta bastante ingenua, pero está bien, ¿no? –

Respuesta

13

Dadas sus etiquetas, que quiere lograr esto en un shell:

cat file | sed s/://g 

editar: realmente no necesita el cat ya sea si están leyendo desde un archivo:

sed s/://g file 
+0

¡Eso fue extremadamente rápido! ¡Muchas gracias! – nmuntz

+0

¿No es eso un uso inútil del gato? sed s /: // g file funcionaría igual de bien sin tener que invocar otro proceso. Consulte http://partmaps.org/era/unix/award.html –

+2

Si desea editar el archivo en su lugar, simplemente agregue la opción '-i' al comando sed:' sed -is /: // g file 'que alterará el archivo en lugar de imprimir el resultado. –

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

¡Muchas gracias! ¡Eso es exactamente lo que quería! – nmuntz

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

Usar tanto -n como -p no tiene sentido. Hacen lo mismo, excepto -p impresiones después de ejecutar el código, mientras que -n no lo hace. – zigdon

+0

De acuerdo, olvidé eliminar la 'n'. –

1

tr -d ':' < archivo

probablemente también funcione, aunque no tengo una línea de comandos a mano para verificar la sintaxis.

Cuestiones relacionadas