awk에서 조건에 따라 다른 프로세스로 출력을 하기
글쓴이: mandugukbap / 작성시간: 수, 2012/03/07 - 8:46오후
아래와 같은 데이터가 있다고 예를 들겠습니다.
a 100 200 300
a 101 203 304
a 109 333 400
b 100 200 300
b 102 302 405
c 199 203 304
awk을 통해서 첫번째 컬럼이 a인지 b인지 c인지를 검사해 세개의 다른 프로세스를 통과 시켜 각각 a.txt, b.txt, 그리고 c.txt에 저장하려고 합니다.
아래처럼 될리는 없습니다만, 원하는 바를 표현하자면 대략 아래와 같습니다.
cat data | awk '{ if ($1 == "a") { send-them-to-PROC1 } elseif ($2 == "b") { send-them-to-PROC2 } elseif ($3 == "c") { send-them-to-PROC3 } }' | PROC1 > a.txt | PROC2 > b.txt | PROC3 > c.txt
Forums:
grep '^a ' data > a.txt
쉬운 길로 가면 안되나요?
답변 감사합니다. 예를 너무 간단하게 들었네요. 보통
답변 감사합니다. 예를 너무 간단하게 들었네요. 보통 데이터 분석의 경우 데이터의 크기가 작게는 Tera bytes 부터 많게는 Exa bytes까지 처리해야 하는데 그런 큰 데이터를 통째로 여러번 분석하는것은 좋은 생각이 아닌듯 합니다.
awk '{ if ($1 == "a") { print
댓글 달기