gpt4 book ai didi

linux - 在 R 中使用 linux 系统命令删除特殊字符

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:51:57 25 4
gpt4 key购买 nike

我正在尝试使用 R 中的 linux 系统命令清理文件

我想使用一个命令来删除除文件分隔符(竖线分隔)之外的特殊字符

在下面的例子中,我试图去掉的是斜线和额外的引号

1234|"PJDG"|"CHOCOLATES"|"CHOCOLATE CAKE"
1256|"GADG"|"CAKE \"HA"|"SPECIAL \"HAPPY CHRISTMAS\""
7657|"ASGD"|"WINE"|"RED WINE"
6777|"DAG"|"FRUIT"|"APPLES/LOOSE"

我已经使用了下面的命令,但它似乎并没有删除字符。

sed 's/\"?//g' input_file.txt > output_file.txt;

最佳答案

如果文件x.txt是这样的

cat(readLines("x.txt"), sep = "\n")
# 1234|"PJDG"|"CHOCOLATES"|"CHOCOLATE CAKE"
# 1256|"GADG"|"CAKE \"HA"|"SPECIAL \"HAPPY CHRISTMAS\""
# 7657|"ASGD"|"WINE"|"RED WINE"
# 6777|"DAG"|"FRUIT"|"APPLES/LOOSE"

然后你可以在system()中使用sed,像这样

system("sed -e 's|[\\\"]||g' x.txt")
# 1234|PJDG|CHOCOLATES|CHOCOLATE CAKE
# 1256|GADG|CAKE HA|SPECIAL HAPPY CHRISTMAS
# 7657|ASGD|WINE|RED WINE
# 6777|DAG|FRUIT|APPLES/LOOSE

您可以将其写入文件。或者,如果您想返回一个 R 向量,请将 intern = TRUE 添加到调用中

关于linux - 在 R 中使用 linux 系统命令删除特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28925639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com