Bash Script AWK사용시
#! /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만 나오는지라,,, 어디가 잘못된건지 한번 봐주십사 글 올립니다.


#!
#! /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죄송 테스트는 못해봤습니다. 마지막 >>과 세미콜론 까지는 그냥 >> 입니다. >> 가 안되네요
댓글 달기