Thursday, July 20, 2017

tarih alanlarında döngü

function indir
{
cd /home/arsiv
rm -r $hedefdizin/tmp/*
echo "$ilktarih - $sontarih arasindaki veriler Arsivden indirilecek"

itarih=`date -d $ilktarih +'%Y-%m-%d'`
starih=`date -d $sontarih +'%Y-%m-%d'`
farkgun=`echo $(($(($(date -d $starih "+%s") - $(date -d $itarih "+%s"))) / 86400))+1|bc`
echo "ilktyarih:$itarih   sontarih:$starih   indirilecek gun sayisi: $farkgun"
if [[ "$farkgun" -gt 31 ]] ; then
   echo "Bir seferde en fazla 31 gunluk veri cekebilirsiniz. Lutfen tarih araligini kucultun"
   exit 0
else

   for gunn in `seq -w 1 $farkgun` ; do
       rm -r $hedefdizin/tmp/*

       echo "gunn: $gunn"

      arsivtarih=`echo $itarih|sed "s|-||g"`
      echo $itarih
      arsivtarih=`echo $itarih|sed "s|-||g"`
      bsctarih=${arsivtarih:2:6}
      echo "$arsivtarih $bsctarih"
      dsmc q arc "$datadizin/eta_dream_$arsivtarih.tar.gz" > /dev/null
      if [ $? -eq 0 ] ; then
         echo "$datadizin/eta_dream_$arsivtarih.tar.gz verisi arsivde var. indirilecek++"
         dsmc ret "$datadizin/eta_dream_$arsivtarih.tar.gz" $hedefdizin/tmp/ -preservepath=none
         cd $hedefdizin/tmp/
         tar -zxvf $hedefdizin/tmp/eta_dream_$arsivtarih.tar.gz --strip-components 4
         mv $hedefdizin/tmp/BSC_DREAM8b* $hedefdizin
         cd
      else
         echo "$datadizin/eta_dream_$arsivtarih.tar.gz verisi arsivde yok--"
      fi

      itarih=$(date -I -d "$itarih + 1 day")
    done
fi

}

# MAIN SECTON #####################################

(($# !=2 )) && { echo "UYARI: 2 Tarih girilmelidir !!
usage: ./vericek.sc
example: ./vericek.sc 20170701 20170712" ; exit 1;}
ilktarih=$1
sontarih=$2

indir
echo "$ilktarih - $sontarih arasindaki verilerin indirilmesi Tamamlandi"

Thursday, July 13, 2017

sed, awk example

find . -name "*dakika*" |xargs -i cp {} tmp/.
cat tmp/*dakika* >> tmp/201501_1dk.txt

find . -name "L0*DAT" | xargs -i cat {} >> tmp/201505_L0.txt
find . -name "L1*DAT" | xargs -i cat {} >> tmp/201505_L1.txt
sed 's/17192/\n17192/g' L0150531.DAT|sed 's/[^0-9|.]*//g'
####
cat awos10dk_L1.dat| tr -cd '[[:alnum:].|]' > aa
sed 's/[A-Z]/\n/g' aa |grep "|2015|"|sed 's/[A-Z]//g' |sed 's/[a-z]//g' > cc
awk -F "|" '{print $1"|"$2"|"$3"|"$4"|"$5"|"$6"|"$7"|"$8"|"$9"|"$10"|"$11"|"$12"|"$13"|"$14"|"$15"|"$16"|"$17"|"$18"|"$19}' cc|sed 's/\[//g' |sed 's/\[//g' |sed 's/\]//g' > dd
######
cat awos1dk_L0.dat| tr -cd '[[:alnum:].|]' > aa

sed  's/[A-Z]/\n/g' aa|sed 's/[a-z]/\n/g' |sed  's/\[/\n/g'|sed 's/\]/\n/g'|grep "|2015|"|sed 's/[A-Z]//g' |sed 's/[a-z]//g'|sed  's/\[//g' |sed 's/\[//g'| sed 's/\]//g'| sed 's/\]//g' > bb

 awk 'BEGIN{OFS=FS="|"}NF==18{print $0}' bb > bb18
 awk 'BEGIN{OFS=FS="|"}NF==23'{print $0}' bb > bb23
 awk 'BEGIN{OFS=FS="|"}NF==20{print $0}' bb > bb20
 awk 'BEGIN{OFS=FS="|"}NF==24{print $0}' bb > bb24
 awk 'BEGIN{OFS=FS="|"}NF==21{print $0}' bb > bb21

cp  bb18 SYNOP.awos_eksikdata1dk_L0_18_sil.20150630.txt

awk 'BEGIN{OFS=FS="|"}length($1)==5 {print substr($1,1),$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,21,$22,$23}' bb23 > bb23_v2
awk 'BEGIN{OFS=FS="|"}length($1)==6 {print substr($1,2),$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,21,$22,$23}' bb23 >> bb23_v2
awk 'BEGIN{OFS=FS="|"}length($1)==7 {print substr($1,3),$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,21,$22,$23}' bb23 >> bb23_v2
awk 'BEGIN{OFS=FS="|"}length($1)==8 {print substr($1,4),$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,21,$22,$23}' bb23 >> bb23_v2


 sed 's/.$//g' bb20 > bb20_v1
 awk 'BEGIN{OFS=FS="|"}length($1)==5 {print substr($1,1),$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19}' bb20_v1 > bb20_v2
 awk 'BEGIN{OFS=FS="|"}length($1)==6 {print substr($1,2),$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19}' bb20_v1 >> bb20_v2
 awk 'BEGIN{OFS=FS="|"}length($1)==7 {print substr($1,3),$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19}' bb20_v1 >> bb20_v2


#####
sed -n '/^1,/p' *cr23x.dat >> hepsi_cr23x_1dk.dat
sed -n '/^2,/p' *cr23x.dat >> hepsi_cr23x_10dk.dat

 cat *L0.dat >> hepsi_1dk_L0.dat
 cat *L1.dat >> hepsi_10dk_L1.da

sort -u bb21 > bb21_nodup