从R调用sed时转义引号
从终端调用时从R调用sed时转义引号,r,sed,quotes,R,Sed,Quotes,从终端调用时 sed -i -e 's/^/#\x27 /' file 通过在每行开头插入#“来编辑文件。但我想从R内部执行此操作。首先,我注意到执行字符串 "sed -i -e \'s/^/#\x27 /\' file" 在R中返回 "sed -i -e 's/^/#' /' file" 问题是\x27已经被解释了,所以我需要的命令 system("sed -i -e \'s/^/#\x27 /\' file") 失败,并显示有关未终止字符串的错误消息。如何将sed命令从R中传递到命令
sed -i -e 's/^/#\x27 /' file
通过在每行开头插入#“
来编辑文件
。但我想从R
内部执行此操作。首先,我注意到执行字符串
"sed -i -e \'s/^/#\x27 /\' file"
在R
中返回
"sed -i -e 's/^/#' /' file"
问题是\x27
已经被解释了,所以我需要的命令
system("sed -i -e \'s/^/#\x27 /\' file")
失败,并显示有关未终止字符串的错误消息。如何将
sed
命令从R
中传递到命令行?我的设备(Mac)上的sed命令不会发生这种情况。我使用just-sed得到的行为与加倍反斜杠得到的行为相同(即,避开反斜杠:
system("sed -i -e 's/^/#\\x27 /\' file.txt")
在这两种情况下,我都在文本中看到了#\x27。我的设备(Mac)上的sed命令并不是这样的。我使用sed获得的行为与加倍反斜杠得到的行为相同(即转义反斜杠:
system("sed -i -e 's/^/#\\x27 /\' file.txt")
在这两种情况下,我都在文本中看到了#\x27。您建议我在\x27之前加上反斜杠,这是非常正确的。我甚至想过尝试一下,但注意到您输入到
系统的字符串的计算结果与R中的原始命令不同,所以我从未尝试过!您建议我uld在\x27之前加上额外的反斜杠。我甚至想尝试一下,但注意到您输入到系统的字符串的计算结果与R中的原始命令不同,所以我从未尝试过!