awk에서 프로그램 사용하기

yshwindow의 이미지

Quote:

./sqlite3 -separator " " dbepg.dat "SELECT start_time, event_name FROM EPGInfo WHERE CH_ID=30;" | awk '{print $1" "$2" "$3" "$4}'

현재 위와 같은 스크립트를 사용 하여 시간을 "start_time" 을 표시하고 있습니다. 그런데. 이게 time_t포맷이라 이렇게 표기됩니다.
Quote:

1135012813 program name....

시간이 1135012813 같이 표기되서 좀 보기 좋게 바꾸려하다보니 아래와 같은 방법이 있더군요.

Quote:

date -d '1970-01-01 1135012813sec'

헌데 이를 awk안에 집어 넣어야 할거 같은데...어설프게 찾아보니 방법이 안보이더군요...
스크립트를 어떻게 수정해야 할까요? @@a...

cinsk의 이미지

먼저, command-line argument 전달하는 방법은 여기에서 확인하시고, 시간 관련 함수 쓰는 법을 여기여기에서 배우면 문제가 해결될 겁니다.

익명 사용자의 이미지

답변 감사합니다.
링크를 참조하여 아래와 같이 해결했습니다. :D :D :D

sqlite3 -separator " " /home/relook/db/dbepg.dat "SELECT start_time, end_time, event_name FROM EPGInfo WHERE CH_ID="$cur_ch_num";"|
awk '{
    format = "%b/%d %H:%M"
    print "<tr><td>" strftime(format,$1) "</td><td>" strftime(format,$2) "</td><td>"$3" "$4" "$5" "$6"</td></tr>"
}'

역시 배워야할게 많군요..어허...