Search

2019년 4월 23일 화요일

[R] [bash] bash에서 argument(인자)를 받아 R script내 변수로 활용하기

#1. 들어가기

R script를 모두 작성한 이후, batch작업 등을 통해 시스템적으로 반복적인 작업을 해야할 때가 있다.
이럴 경우 shell 창 자체에서 argument를 설정하여 script 내부의 변수로 활용할 수 있다.


#2. 코드

* R script 내부 ( test.R )
# bash에서 argument를 받아, args 변수에 저장
args = commandArgs(trailingOnly=TRUE)

# args에 저장된 내용 프린트
print(paste("test args :", args))

* shell 에서 명령
Rscript test.R thisIsTest


* 결과 화면








#3. 추가

보통은 일/월 별 특정 날짜에 배치작업을 수행하는 목적으로 많이 사용하는데, 아래의 코드로 server의 시스템 날짜를 바로 가져와서 활용할 수 있다.
#Set this month 'YYYYMM'
curr_month <- format(Sys.time(), "%Y%m")   # server의 시스템 날짜를 가져와 입력
print(curr_month)

댓글 없음:

댓글 쓰기