Bash Script AWK사용시

MSG의 이미지

#! /bin/bash

spc_date=$1
spc_stn=$2

yr=`awk 'BEGIN{print substr("'$spc_date'",1,4)}'`
mon=`awk 'BEGIN{print substr("'$spc_date'",5,2)}'`
day=`awk 'BEGIN{print substr("'$spc_date'",7,2)}'`

echo "Specific Date : "yr : "$yr"," "mon : "$mon"," "day : "$day"
echo "Specific Station : "number : "$spc_stn"

DAIN=/home/min/Sort_CSH/DAIN
DAIO=/home/min/Sort_CSH/DAIO

INFN="2000-2010.txt"
OUTFN="2000-2010_${spc_stn}_${spc_date}.txt"

rm -rf $DAIO/$OUTFN
awk '$1==$spc_stn && $2==$yr && $3==$mon && $4==$day' $DAIN/$INFN > $DAIO/$OUTFN

===================================================================================================

지점번호 연 월 일 value1 value2 value3 value4
400 2009 3 2 -0.1 -0.5 -0.5 -0.8

===================================================================================================

Q. 입력받은 날짜를 연/월/일로 분리해서 읽어서, awk를 써서 해당 날짜별로 일치하는 데이터의 레코드를
읽을 생각입니다. 빈껍데기 output만 나오는지라,,, 어디가 잘못된건지 한번 봐주십사 글 올립니다.

doodoo의 이미지

#! /bin/bash
 
spc_date=$1
spc_stn=$2
 
year=${spc_date:1:4}
mon=${spc_date:5:2}
day=${spc_date:7:2}
 
echo "Specific Date : "yr : "$year"," "mon : "$mon"," "day : "$day"
echo "Specific Station : "number : "$spc_stn"
 
DAIN=/home/min/Sort_CSH/DAIN
DAIO=/home/min/Sort_CSH/DAIO
 
INFN="2000-2010.txt"
OUTFN="2000-2010_${spc_stn}_${spc_date}.txt"
 
while read ID YEAR MON DAY V1 V2 V3 V4
do
    if test $YEAR -eq $year && test $MON -eq $mon && test $DAY -eq $day; then
        echo ID YEAR MON DAY V1 V2 V3 V4 >> $DAIO/$OUTFN
    fi
done < $DAIN/$INFN

죄송 테스트는 못해봤습니다. 마지막 >&gt과 세미콜론 까지는 그냥 >> 입니다. >> 가 안되네요