#!/bin/sh #系统简称
SYST="HVPS"
#发送行号
SEND1234SEND=""
#接收行号
RECV1234RECV="" cd /home/was/test
list=(`ls hvps*`) for file in ${list[*]}
do cd /home/was/test
#清算SAPS
#MSGTYPE0MSGTYPE=$(cat $file |grep -m 'xmlns='|cut -d ':' -f |awk -F '"' '{print $1}'|awk -F ' ' '{print $1}')
MSGTYPE0MSGTYPE=$(cat $file |grep 'xmlns='|cut -d ':' -f |awk -F '"' '{print $1}')
msg=`cat $file` MSGRID0000MSGRID=$(cat $file |grep -m '<MsgId>'|sed 's/<MsgId>//g'|sed 's/<\/MsgId>//g'|sed 's/\s//g'|awk '{print $1}')
echo "Msgty:[${MSGTYPE0MSGTYPE}]"
echo "Msgid:[${MSGRID0000MSGRID}]" cd /home/was/new_test/ if ! [ -f $file ];then
touch $file
else
rm -f $file
touch $file
fi echo "{H:02${SEND1234SEND} ${SYST}${RECV1234RECV} ${SYST}000000000001XML${MSGTYPE0MSGTYPE[0]} ${MSGRID0000MSGRID} ${MSGRID0000MSGRID} 3D }"|sed -e 's/}/}\r/' >>$file
echo "$msg" >>$file sed -i '/XMLSpy v20/d' $file echo "${file}转换完成!"
head -n $file
echo " " done
shell打开读取一个文件内容,然后写入一个新的文件中,并对某些字段进行提取,写入新的字段的脚本。这是在工作中,需拼装大量的8543报文,原报文只读,不可写入,且也要对原报文进行提取某字段、新增报文头字段,删除某字段等操作,希望大家有用的着的地方,与大家共同学习进步!
Python方法:Python学习笔记五(读取提取写入文件)