如何使用sed删除文件中的所有双引号

如何使用sed删除文件中的所有双引号,sed,Sed,我有一个名为file.txt的文件。它有许多双引号贯穿其中。我想把它们全部去掉 我尝试了sed的//“//g”file.txt 我已经尝试过sed-s“s/^\(\(\”(.*\)\“\)\)\(“\(.*\)”\)\$/\\3\\5/g”file.txt 两者都不起作用 如何删除文件中的所有双引号?请尝试在表达式中用反斜杠在双引号前加上反斜杠: sed 's/\"//g' [file name] 您只需在第一个示例中转义引号: $ sed 's/\"//g' file.txt 补充意见。是

我有一个名为file.txt的文件。它有许多双引号贯穿其中。我想把它们全部去掉

我尝试了sed的//“//g”file.txt

我已经尝试过
sed-s“s/^\(\(\”(.*\)\“\)\)\(“\(.*\)”\)\$/\\3\\5/g”file.txt

两者都不起作用


如何删除文件中的所有双引号?

请尝试在表达式中用反斜杠在双引号前加上反斜杠:

sed 's/\"//g' [file name]

您只需在第一个示例中转义引号:

$ sed 's/\"//g' file.txt

补充意见。是的,这是有效的:

    sed 's/\"//g' infile.txt  > outfile.txt
(但是,使用批gnu时,将仅打印到屏幕)

在批处理脚本(GNU SED)中,需要这样做:

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

您确定需要使用sed吗?关于:

tr -d "\""

要就地更换,您还可以执行以下操作:

sed -i '' 's/\"//g' file.txt
或者在Linux中

sed -i 's/\"//g' file.txt
试试这个:

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

您的第一次尝试应该适用于普通ASCII文件。可能您正在处理的文件包含Unicode?我运行了这个,在屏幕上,它经过数千个条目,引号消失了。但是在file.txt中,引号仍然存在。是的,
sed
默认情况下将输出定向到标准输出,并且不接触输入文件。如果要将输出保存到文件中,请执行
sed/\“//g'file.txt>file_new.txt
如果您对file_new.txt感到满意,请删除旧文件并重命名新文件。或者,如果您的
sed
支持
-i
选项,那么您也可以使用编辑过的文件替换该文件。我运行了此命令,在屏幕上它经过数千个条目,引号消失了。但是在file.txt文件中,引号仍然存在。我使用csv文件运行此文件,所有数据都消失了。使用sed-I的//\“//g'[文件名]如果所有类型的引号都需要删除怎么办?如果它也需要使用unicode怎么办?嗨,阿米塔。谢谢你的回答。但是请添加一个解释。你的解决方案是如何工作的?。谢谢。为什么第一个(unix/mac os?)需要将空单引号作为第一个参数吗?