Если у меня есть сценарий R:
print("hi")
commandArgs()
И я выполняю его использование:
r CMD BATCH --slave --no-timing test.r output.txt
Вывод будет содержать:
[1] "hi"
[1] "/Library/Frameworks/R.framework/Resources/bin/exec/x86_64/R"
[2] "-f"
[3] "test.r"
[4] "--restore"
[5] "--save"
[6] "--no-readline"
[7] "--slave"
Как я могу подавить номера строки [1].. [7] в выводе поэтому только вывод сценария появляется?
Да, mbq прав - используйте Rscript
или, если он плывет по вашей лодке, littler :
$ cat /tmp/tommy.r
#!/usr/bin/r
cat("hello world\n")
print(argv[])
$ /tmp/tommy.r a b c
hello world
[1] "a" "b" "c"
$
Вы, наверное, хотите взглянуть на пакеты CRAN getopt и optparse для анализа аргументов, как вы бы это делали в других языках сценариев /
Используйте commandArgs(TRUE)
и запустите ваш скрипт с помощью Rscript
.
EDIT: Хорошо, я неправильно понял ваш вопрос. Дэвид все правильно понял.