我正在尝试使用system(mess)
:
mess <- "sed -i -e '62i\ \\\usepackage[margin=2cm]{geometry}' intro-spatial-rl.tex"
但它仍然失败并出现以下错误:
Error: '\u' used without hex digits in character string starting ""sed -i -e '62i\ \\\u"
我也看到paste
用于系统命令,但这也失败了。
可以使用不同的正则表达式程序,但认为这可能对其他人有用,并提高我对R如何处理字符的理解。谢谢!
答案 0 :(得分:2)
您的问题是转义序列中\
的数量不等。
R在此处看到两个转义序列:\\
和\u
。第二个无效并给出错误。你可能也希望逃避第二个反斜杠,产生\\\\
。同样地,您可能也想逃离\
中的上一个\
,并留下\\
。
所有这一切,将在这个实例中完全用R代码替换sed
调用。我理解它的方式你只想插入一行文字。这在R中很容易(虽然目前还不清楚你的输入和输出是什么)。