c shell 질문하나만 드립니다.(해석)
set bn = (01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16)
set sb = (10 250 500 630 700 820 980 1080 1180 1390 1480 1800 2080 2250 2380 2600)
set eb = (251 501 631 701 821 981 1081 1181 1391 1481 1801 2081 2251 2381 2601 3001)
set i = 1
set j = 2
set var = (CTM CO2 O3 N2O CO CH4 O2 H2O)
sed -i "s:parameter(nlayer=60,vstar=10.,nband=1495,nv=1000,dv=0.002):parameter(nlayer=60,vstar=$sb[$i],nband=$eb[$i]-$sb[$i],nv=1000,dv=0.002):" lbl.f
while($i <= 17)
set num =(0 0 0 0 0 0 0 0)
set k = 1
set b1 = `echo parameter(nlayer=60,vstar=$sb[$i],nband=$eb[$i]-$sb[$i],nv=1000,dv=0.002)`
set a1 = `echo parameter(nlayer=60,vstar=$sb[$i],nband=$eb[$i]-$sb[$i],nv=1000,dv=0.002)`
sed -i "s:${b1}:${a1}:" lbl.f
sed -i "s:1,1,1,1,1,1,1,1:1,0,0,0,0,0,0,0:" lbl.f
sed -i "s:0,0,0,0,0,0,0,0:1,0,0,0,0,0,0,0:" lbl.f
run lbl
mv -f fort.22 data/test/clr_$var[8]_$bn[$j].dat
mv -f fort.23 data/test/flx_$var[8]_$bn[$j].dat
while($k <= 7)
@ num[$k] = 1
set b2 = `echo $num[1],$num[2],$num[3],$num[4],$num[5],$num[6],$num[7],$num[8]`
set a2 = `echo 1,$num[1],$num[2],$num[3],$num[4],$num[5],$num[6],$num[7]`
sed -i "s:${b2}:${a2}:" lbl.f
run lbl
mv -f fort.22 data/test/clr_$var[$k]_$bn[$j].dat
mv -f fort.23 data/test/flx_$var[$k]_$bn[$j].dat
@ k ++
end
@ i ++
@ j ++
end
위에가 프로그램인데요...
본 프로그램에서 parameter( ~~~) 를 sb즉 스타트밴드 eb 앤드 밴드까지 vstar와 nband를 바꿔 가면서
프로그램을 실행시키려고 합니다.
근데 15번째 줄 부근에
sed -i "s:1,1,1,1,1,1,1,1:1,0,0,0,0,0,0,0:" lbl.f
sed -i "s:0,0,0,0,0,0,0,0:1,0,0,0,0,0,0,0:" lbl.f
이게 1,0,0,0,0,0,0,0에서 1,1,0,0,0,0,0,0 ~ 1,1,1,1,1,1,1,1까지 하나씩 0이 1로 바껴지면서 프로그램이 실행되는게 맞는건가요?
그렇다면 그 밑에 sed -i "s:0,0,0,0,0,0,0,0:1,0,0,0,0,0,0,0:" lbl.f는 어떻게 해석 해야 하는건가요?
댓글 달기