proc = subprocess.Popen(['test.sh', 'ff.txt'], stdout=subprocess.PIPE)
while True:
line = proc.stdout.readline()
if not line: break
line = line.decode('utf-8')
line = line.strip()
쉘에서 명령을 실행한 후 stdout을 통해서 나오는 문자열들을 읽어들여서 처리하고자 할때 위와 같이 코딩하면 된다. "subprocess.Popen(['test.sh', 'ff.txt']" 이 부분에서 뛰어쓰기 단위로 , 로 구분해서 넣어주면 된다. "proc.stdout.readline()"를 통해서 읽어들이면 string이 아니라 byte[] 타입이 된다. 해서 "line.decode('utf-8')" 를 통해서 string 타입으로 변환해주어야 한다.
grep, awk를 활용해서 문자열 처리해서 가공해보고 싶었으나 너무 복잡하고 다루기 어려워서 그냥 파이썬으로 처리하기로...