Ho problemi a convogliare lo stdin a uno script R.Piping stdin to R
Ecco il mio script giocattolo test.R
:
#!/usr/bin/env Rscript
while(length(line <- readLines('stdin', n=1, warn=FALSE)) > 0) {
write(line, stderr())
# process line
}
mi piacerebbe passare attraverso ogni linea e fare un po 'di elaborazione. Ecco il mio file di input nome input
:
aaaaaa
bbbbbb
cccccc
dddddd
eeeeee
ffffff
Se faccio
cat input | test.R
io ho soltanto:
aaaaaa
C'è qualcosa che ho perso?
Grande. Questo funziona. Grazie. – WYi
Abbiamo bisogno di chiudere il file alla fine? –
Se vuoi che R faccia la cosa più tipica di "unix-y" e attendi input da stdin (quindi il codice nella risposta si comporterebbe in modo simile all'esecuzione di 'cat' senza argomenti) allora devi usare' open (f , blocking = TRUE) '. – dshepherd