在Unix(或R)中删除文件中的引号

o0lyfsai  于 2023-02-01  发布在  Unix
关注(0)|答案(2)|浏览(140)

请查找附件中的两个文件(files)。两个文件看起来都一样,一个变量包含两个由空格分隔的数字。
file1.txt在excel中生成作为测试,并保存为制表符分隔的txt文件。
file2.txt是在R中通过tidyverse unite函数合并两个变量并使用sep = " "获得空格作为分隔符而生成的。然后使用write.table(......., sep = "\t")导出R对象
当我在终端中读取file1.txt时,它没有出现引号,而file2.txt的每行都有引号。文件1中的60 0与文件2中的“60 0”。
在这一点上,引号对我来说是个问题,但是使用R可以帮助我以迭代的方式创建文件。
有没有办法在Unix中删除这些引号,或者在R中创建这些文件,但不带引号?
多谢你的帮忙。最好的,
大卫PS:我试过cp file1.txt input; sed -e 's/^"//' -e 's/"$//' <<<"$input",没有成功。

vngu2lb8

vngu2lb81#

许多方法;这里有一个(请标记为正确或张贴说明)

Mac_3.2.57$cat ../../../Downloads/file2.txt | awk '{ gsub("\"","") }1' | head -n 10
TA_pos
60 0
72 0
102 0
188 0
246 0
333 0
360 0
426 0
448 0
Mac_3.2.57$cat ../../../Downloads/file2.txt | head -n 10
"TA_pos"
"60 0"
"72 0"
"102 0"
"188 0"
"246 0"
"333 0"
"360 0"
"426 0"
"448 0"
Mac_3.2.57$
juzqafwq

juzqafwq2#

FS | OFSRS | ORS均可工作:

{m,g,n}awk NF=NF FS='"' OFS=
{m,g,n}awk   8   RS='"' ORS=
TA_pos
60 0
72 0
102 0
188 0
246 0
333 0
360 0
426 0
448 0

相关问题