shell遍歷讀取文件寫入新文件

 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
View Code

shell打開讀取一個文件內容,而後寫入一個新的文件中,並對某些字段進行提取,寫入新的字段的腳本。這是在工做中,需拼裝大量的8543報文,原報文只讀,不可寫入,且也要對原報文進行提取某字段、新增報文頭字段,刪除某字段等操做,但願你們有用的着的地方,與你們共同窗習進步!html

Python方法:Python學習筆記五(讀取提取寫入文件)shell

相關文章
相關標籤/搜索