#!/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学习笔记五(读取提取写入文件)

shell读取文件写入新文件的更多相关文章

  1. php下载文件,解压文件,读取并写入新文件

    以下代码都是本人在工作中遇到的问题,并完成的具体代码和注释,不多说,直接上代码: <?php      //组织链接      $dataurl = "http://118.194.2 ...

  2. 文件操作ofstream,open,close,ifstream,fin,依照行来读取数据, fstream,iosin iosout,fio.seekg(),文件写入和文件读写,文件拷贝和文件

     1.ofstream,open,close 写入文件 #include<iostream> #include<fstream> using namespace std; ...

  3. python读取并写入mat文件

    用matlab生成一个示例mat文件: clear;clc matrix1 = magic(5); matrix2 = magic(6); save matData.mat 用python3读取并写入 ...

  4. Asp.net读取和写入txt文件方法(实例)!

    Asp.NET读取和写入txt文件方法(实例)! [程序第一行的引入命名空间文件 - 参考] System; using System.Collections; using System.Config ...

  5. python之读取和写入csv文件

    写入csv文件源码: #输出数据写入CSV文件 import csv data = [ ("Mike", "male", 24), ("Lee&quo ...

  6. Java——读取和写入txt文件

    package com.java.test.a; import java.io.BufferedReader; import java.io.BufferedWriter; import java.i ...

  7. python读取和写入csv文件

    读取csv文件: def readCsv(): rows=[] with file(r'E:\py\py01\Data\system.csv','rb') as f: reads=csv.reader ...

  8. C#读取和写入XML文件

    关于xml是属于一个比较重要的东西,在平时开发的过程中,这块内容最主要的是要掌握XML内容的读取和写入操作. 一.什么是XML? XML 指可扩展标记语言(EXtensible Markup Lang ...

  9. java读取数据写入txt文件并将读取txt文件写入另外一个表

    package com.xsw.test; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.F ...

随机推荐

  1. Elasticsearch示例

    /** * @author: yqq * @date: 2019/2/28 * @description: */ public class TestMain { private static Rest ...

  2. spring接口文档注解:@ApiOperation(转)

    spring接口文档注解:@ApiOperation @ApiOperation不是spring自带的注解是swagger里的 com.wordnik.swagger.annotations.ApiO ...

  3. Find a way(两个BFS)

    Problem Description Pass a year learning in Hangzhou, yifenfei arrival hometown Ningbo at finally. L ...

  4. maven环境变量设置

    maven环境变量设置 maven环境变量设置 wondows 一.下载 开源网址:http://maven.apache.org/ 下载网址:http://maven.apache.org/down ...

  5. AMBA——slave的HREADY信号

    在前几天的ARM面试中,被问到总线架构,主要是AMBA那一套东西.对于AMBA之前上课学过一点,但很肤浅.为了面试上网查了一下.也看了部分协议补充了一下,但是接触的少,理解的不深入,被问到之前没遇到的 ...

  6. 关于ClassLoader的使用

    了解ClassLoader: /* * 了解类的加载器:ClassLoader * */ @Test public void testClassLoader() { // 获取到系统类加载器,加载用户 ...

  7. [VB.NET Tips]VB.NET专有的字符串处理函数

    .NET Framework类库中含有专门为Visual Basic.NET程序员设计的函数和过程. 这些方法虽然是为VB.NET程序员设计的,但是也可以被.NET Framework上支持的任何语言 ...

  8. Spring 梳理-运行时动态注入bean

    动态注入的方法 使用占位符 使用Spring表达式

  9. springboot 项目打包部署后设置上传文件访问的绝对路径

    1.设置绝对路径 application.properties的配置 #静态资源对外暴露的访问路径 file.staticAccessPath=/upload/** #文件上传目录(注意Linux和W ...

  10. .net core 3.0 Signalr - 04 使用Redis做底板来支持横向扩展

    在实际的系统中,可能需要多台机器部署;然而,Signalr的连接信息是跟站点走的,举个例子 推送系统部署了A.B两个服务器,张三访问A服务器,李四访问B服务器,当张三通过A服务器向李四推送的时候,A服 ...