0

head <(cat file.txt)R 内で system を使用して実行したいのですが、エスケープ<が問題です。

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されますが、コマンドはこのシェルでは正しくありません:

$ 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 に答える