2006년 08월 29일
awk 에서 shell 변수 사용하기
#!/bin/sh
if [ $# -ne 4 ]
then
echo "Usage: log_cnt <file_name> <err_code> <log_point|0> <proc_hour>"
exit
fi
cnt=1
if [ $3 -ne 0 ]
then
cat $1 | awk 'BEGIN{FS=";"}{ if ( $10 == '"${2}"' && $7 == '"${3}"' ) print }' | grep ^$4 | wc -l
else
while [ "$cnt" -ne 5 ]
do
echo "log point $cnt: c"
cat $1 | awk 'BEGIN{FS=";"}{ if ( $10 == '"${2}"' && $7 == '"${cnt}"' ) print }' | grep ^$4 | wc -l
cnt=`expr $cnt + 1`
done
fi
-----
shell script 에서 awk 표현식 안에서 shell 의 input parameter 를 쓸 경우가 있다.
이때, awk 에서 shell 변수로 인식시키기 위해서는 ' " ${변수명} " ' 과 같은 방식으로 사용해야 한다.
if [ $# -ne 4 ]
then
echo "Usage: log_cnt <file_name> <err_code> <log_point|0> <proc_hour>"
exit
fi
cnt=1
if [ $3 -ne 0 ]
then
cat $1 | awk 'BEGIN{FS=";"}{ if ( $10 == '"${2}"' && $7 == '"${3}"' ) print }' | grep ^$4 | wc -l
else
while [ "$cnt" -ne 5 ]
do
echo "log point $cnt: c"
cat $1 | awk 'BEGIN{FS=";"}{ if ( $10 == '"${2}"' && $7 == '"${cnt}"' ) print }' | grep ^$4 | wc -l
cnt=`expr $cnt + 1`
done
fi
-----
shell script 에서 awk 표현식 안에서 shell 의 input parameter 를 쓸 경우가 있다.
이때, awk 에서 shell 변수로 인식시키기 위해서는 ' " ${변수명} " ' 과 같은 방식으로 사용해야 한다.
# by | 2006/08/29 20:57 | Unix/PL/Tips | 트랙백(1) | 핑백(1)





☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
제목 : awk 에서 shell 변수 사용하기
awk 에서 shell 변수 사용하기 - http://devfrog.egloos.com/293560 #!/bin/shif [ $# -ne 4 ]then echo “Usage: log_cnt <file_name> <err_code> <log_point|0> <proc_hour>” exitficn......more
... http://devfrog.egloos.com/293560 #!/bin/shif [ $# -ne 4 ]then echo “Usage: log_cnt <file_name> <err_code> <log_point|0> <proc_hour>” exitficnt=1if [ $3 -ne 0 ]thencat $1 | awk ‘BEGIN{FS=”;”}{ if ( $10 == ‘”${2}”‘ && $7 == ‘”${3}”‘ ) print }’ | grep ^$4 | wc -lelsewhile [ "$cnt" -ne 5 ]do echo “log point $cnt: c” cat $1 | awk ‘BEGIN{FS=”;”}{ if ( $10 == ‘” ... more