使用 grep 或 sed 从.txt中删除或添加行时出现问题



我正在尝试在Windows机器上使用R编辑大量.txt文件。我试图将所有以>字符开头的行保存到新的.txt文件中时遇到了困难。 我已经尝试了其他线程中建议的一系列解决方案,例如:

grep -v "^>"  filename
sed  -i "/^</ d"  filename 

但是我不断收到标准错误:

意外的字符串常量

总的来说,我对 R 比较陌生,尤其是对字符串操作。 关于我应该从哪里开始寻找的任何想法,我是否需要转义>符号,我是否需要格式化.txts,或者我只是搞砸了一些基本语法?

您是在 R 会话中还是在终端中运行grep -v "^>" filename?听起来像在您的会话中,因此出现错误。R 函数 grep(( 的工作方式与 Unixgrep命令不同,sed根本不可用。

您可以尝试打开另一个终端(或退出 R 会话(,并在 BASH 提示符下尝试这些命令。

为了使用R进行文本操作,您首先必须使用 readLines(( 之类的东西将文件放入 R 对象中,然后您可以使用R的文本函数(如grep()(,然后 writeLines(( 保存您对文件所做的更改。

像这样:

z <- readLines("file.txt")
y <- z[grep("^>", z, invert=TRUE)]
writeLines(y, "file.txt")

应该工作。

最新更新