1 #!/bin/sh 2 3 #系統簡稱 4 SYST="HVPS" 5 #發送行號 6 SEND1234SEND="660000000066" 7 #接收行號 8 RECV1234RECV="880000000088" 9 10 cd /home/was/test 11 list=(`ls hvps*`) 12 13 for file in ${list[*]} 14 do 15 16 cd /home/was/test 17 #清算SAPS 18 #MSGTYPE0MSGTYPE=$(cat $file |grep -m 1 'xmlns='|cut -d ':' -f 9|awk -F '"' '{print $1}'|awk -F ' ' '{print $1}') 19 MSGTYPE0MSGTYPE=$(cat $file |grep 'xmlns='|cut -d ':' -f 8|awk -F '"' '{print $1}') 20 msg=`cat $file` 21 22 MSGRID0000MSGRID=$(cat $file |grep -m 1 '<MsgId>'|sed 's/<MsgId>//g'|sed 's/<\/MsgId>//g'|sed 's/\s//g'|awk '{print $1}') 23 echo "Msgty:[${MSGTYPE0MSGTYPE}]" 24 echo "Msgid:[${MSGRID0000MSGRID}]" 25 26 cd /home/was/new_test/ 27 28 if ! [ -f $file ];then 29 touch $file 30 else 31 rm -f $file 32 touch $file 33 fi 34 35 36 echo "{H:02${SEND1234SEND} ${SYST}${RECV1234RECV} ${SYST}000000000001XML${MSGTYPE0MSGTYPE[0]} ${MSGRID0000MSGRID} ${MSGRID0000MSGRID} 3D }"|sed -e 's/}/}\r/' >>$file 37 echo "$msg" >>$file 38 39 sed -i '/XMLSpy v20/d' $file 40 41 echo "${file}轉換完成!" 42 head -n 3 $file 43 echo " " 44 45 done
shell打開讀取一個文件內容,而後寫入一個新的文件中,並對某些字段進行提取,寫入新的字段的腳本。這是在工做中,需拼裝大量的8543報文,原報文只讀,不可寫入,且也要對原報文進行提取某字段、新增報文頭字段,刪除某字段等操做,但願你們有用的着的地方,與你們共同窗習進步!html
Python方法:Python學習筆記五(讀取提取寫入文件)shell