Tengo un archivo llamado file.txt. Tiene un número de comillas dobles a través de ella. Quiero eliminar a todos ellos.

He intentado sed 's/"//g' file.txt

He intentado sed -s "s/^\(\(\"\(.*\)\"\)\|\('\(.*\)'\)\)\$/\\3\\5/g" file.txt

Ni han trabajado.

Cómo puedo eliminar todas las comillas dobles en el archivo?

  • Su primer intento debe trabajar en un archivo formato ASCII. Tal vez el archivo que se está trabajando contiene Unicode » en su lugar?
InformationsquelleAutor MRTim2day | 2011-10-03

6 Comentarios

  1. 97

    Que acaba de escapar de la cita en el primer ejemplo:

    $ sed 's/\"//g' file.txt
    
    • Me encontré con esto, en la pantalla se voló por los miles de entradas y las citas se habían ido. Dentro de la file.txt sin embargo, la cita todavía estaban allí.
    • Sí, sed dirige la salida a la salida estándar de forma predeterminada y no toque el archivo de entrada. Si desea que la salida se guarda en un archivo, hacer sed 's/\"//g' file.txt > file_new.txt y, a continuación, cuando usted es feliz con file_new.txt, de eliminar el archivo y cambiar el nombre de la nueva.
    • O si su sed apoya la -i opción, que permiten reemplazar el archivo con el archivo editado así.
  2. 26

    Estás seguro de que necesitas usar sed? Cómo acerca de:

    tr -d "\""
    
    • ¿Y si todos los tipos de las cotizaciones necesarias para ser eliminado? Lo que si es necesario para trabajar con unicode también?
  3. 8

    Para la colocación en el lugar también se puede hacer:

    sed -i '' 's/\"//g' file.txt
    

    o en Linux

    sed -i 's/\"//g' file.txt
    
  4. 4

    Comentario adicional. Sí funciona:

        sed 's/\"//g' infile.txt  > outfile.txt
    

    (sin embargo con el lote de gnu sed, simplemente se va a imprimir en pantalla)

    En lote de secuencias de comandos (GNU SED), que era necesario:

        sed 's/\x22//g' infile.txt  > outfile.txt
    
  5. 2

    Intentar anteponiendo el doublequote con una barra diagonal inversa en su expresssion:

    sed 's/\"//g' [file name]
    
    • Me encontré con esto, en la pantalla se voló por los miles de entradas y las citas se habían ido. Dentro de la file.txt sin embargo, la cita todavía estaban allí.
    • Puedo ejecutar esta con un archivo csv, y todos los datos se ha ido. Me canse par de veces con el mismo resultado.
    • uso sed-i ‘s/\»//g’ [nombre de archivo]
  6. 0

    Intente esto:

    sed -i -e 's/\"//g' file.txt
    
    • Hola Amita. Gracias por tu respuesta. Pero por favor, agregue una explicación. ¿Cómo trabaja su solución?. Cómo Responder. Gracias.

Dejar respuesta

Please enter your comment!
Please enter your name here