¿Cómo puedo eliminar los símbolos, espacios en blanco, caracteres, palabras todo lo que entre los dos caracteres en una línea?

Mi 5 archivo de la línea es:

"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.1)" 120.94.30.12 264 556 -    
"Skype for Macintosh" 120.94.30.9 1038 482 -
-129.94.30.4 217 309 -
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.1)" 120.94.30.8 1197 747 -
"¢¢HttpClient" 120.94.30.12 594 231 -

Quiero borrar todo lo que viene entre " y " (incluyendo la " caracteres), de modo que la salida debe ser:

120.94.30.12 264 556 -
120.94.30.9 1038 482 -
-120.94.30.4 217 309 -
120.94.30.8 1197 747 -
120.94.30.12 594 231 -

2 Comentarios

  1. 5

    Te refieres a como esta?

    sed 's/"[^"]*"//' file
    
    • Esta es una buena solución, ya que sólo va a eliminar todo lo que está entre antes par de comillas en una línea.
    • el comando anterior funciona correctamente para la prueba de archivo de registro (par de líneas). Pero no funciona para archivos grandes (que contiene 1,5 millones de líneas), especialmente para las líneas son: «Skype 4.1» 129.94.30.9 286.
    • Me parece que ambas de estas soluciones debe trabajar en su línea de Skype. Se puede saber qué es diferente acerca de esas líneas?
    • Agregar ‘g’ para que coincida con todas las parejas, lo cual es de gran ayuda para eliminar las etiquetas html, por ejemplo: sed ‘s/<[^>]*>//g’ archivo
  2. 1
     echo '"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.1)" 120.94.30.12 264 556 -' |\
     sed -e 's/".*"\(.*\)//g'
    
    • este comando funciona correctamente para la prueba de archivo de registro (par de líneas). Pero no funciona para archivos grandes (que contiene 1,5 millones de líneas), especialmente para las líneas son: «Skype 4.1» 129.94.30.9 286.
    • ¿Cuál es la línea completa incluyendo «Skype 4.1» 129.94.30.9 286?

Dejar respuesta

Please enter your comment!
Please enter your name here