0

我想head <(cat file.txt)在 R 中使用系统运行,但是转义<是一个问题。

system(paste("head <(cat file.txt)"))
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `head <(cat file.txt)'

I've tried escaping it, but its not working

system(paste("head /<(cat file.txt)"))
head: cannot open `/<(cat file.txt)' for reading: No such file or directory

有人可以提出替代方案。

干杯

4

1 回答 1

6

问题不在于转义<。默认情况下,system使用 运行命令/bin/sh,并且您的命令与此 shell 不正确:

$ sh -c "head <(cat foo.txt)"
sh: 1: Syntax error: "(" unexpected

但它适用于 bash。

在 R 下,您可以尝试以下操作:

system("bash -c 'head <(cat file.txt)'")
于 2013-03-12T15:34:58.643 回答