当前位置:  技术问答>linux和unix

求一个多文件编辑的shell

    来源: 互联网  发布时间:2017-03-10

    本文导语:  现在有以下几个文件 1、a.txt aa.dat 381263 bb.dat 515821 2、b.dat CLASS 20120622192745 N GRADE COUNT 3、aa.bat aa 20120107000000000 19950427000000 20120107000000 01001500 aa 20120107000000000 19950427000000 20120107000000 01001500 aa 20120107000000000 19950427...

现在有以下几个文件
1、a.txt
aa.dat 381263
bb.dat 515821

2、b.dat
CLASS 20120622192745 N GRADE COUNT


3、aa.bat
aa 20120107000000000 19950427000000 20120107000000 01001500
aa 20120107000000000 19950427000000 20120107000000 01001500
aa 20120107000000000 19950427000000 20120107000000 01003640
aa 20120107000000000 19950427000000 20120107000000 01003640
aa 20120107000000000 20060124000000 20120107000000 02080011
aa 20120107000000000 20060124000000 20120107000000 02080011
aa 20120107000000000 20051216000000 20120107000000 02080012


4、bb.dat
bb 20120107000000000 19950427000000 20120107000000 01001500
bb 20120107000000000 19950427000000 20120107000000 01001500
bb 20120107000000000 19950427000000 20120107000000 01003640
bb 20120107000000000 19950427000000 20120107000000 01003640
bb 20120107000000000 20060124000000 20120107000000 02080011
bb 20120107000000000 20060124000000 20120107000000 02080011
bb 20120107000000000 20051216000000 20120107000000 02080012


求一个shell,在a.txt文件中取每个dat对应的数字,替换b.dat文件中的COUNT,再把替换后的b.dat文件内容,加到aa.dat,bb.dat文件的最前面。(文件字段间用tab分割)谢谢大家啊~~~~

生成后的文件:
1、aa.bat
CLASS 20120622192745 N GRADE 381263
aa 20120107000000000 19950427000000 20120107000000 01001500
aa 20120107000000000 19950427000000 20120107000000 01001500
aa 20120107000000000 19950427000000 20120107000000 01003640
aa 20120107000000000 19950427000000 20120107000000 01003640
aa 20120107000000000 20060124000000 20120107000000 02080011
aa 20120107000000000 20060124000000 20120107000000 02080011
aa 20120107000000000 20051216000000 20120107000000 02080012


2、bb.dat
CLASS 20120622192745 N GRADE 515821
bb 20120107000000000 19950427000000 20120107000000 01001500
bb 20120107000000000 19950427000000 20120107000000 01001500
bb 20120107000000000 19950427000000 20120107000000 01003640
bb 20120107000000000 19950427000000 20120107000000 01003640
bb 20120107000000000 20060124000000 20120107000000 02080011
bb 20120107000000000 20060124000000 20120107000000 02080011
bb 20120107000000000 20051216000000 20120107000000 02080012

|
应该是aa.dat吧?不然那样子似乎就不对应了。

$ awk '{if(NR==FNR){insert=$0}else{to_insert=insert;sub("COUNT", $2, to_insert);cmd="sed -i.bak "1i"to_insert"" "$1;system(cmd)}}' b.txt a.txt

|
主要用sed命令吧

    
 
 

您可能感兴趣的文章:

  • 编辑文件后好多临时文件怎么删除
  • fedora8:每次编辑一个文件之后,目录下面都会多一个“文件名~”的文件?
  • emacs中如何打开、编辑光标处的文件名对应的文件?
  • .po文件编辑工具 Poedit
  • 新手,请教关于文件编辑问题...
  • vim生成的.cpp~是什么文件?我使用vim编辑的时候出现了好多.cpp~文件
  • 音频文件编辑器 MPGEDIT
  • vi 中编辑两个文件,怎样从其中一个文件拷一段内容到另一个文件中。(同时打开两个文件)
  • 用emacs编辑后出现奇怪的文件
  • 大型 16 进制文件编辑器 wxHexEditor
  • BibTex文件编辑和管理软件 Bibi
  • 如何让VIM编辑只读文件?
  • 文本模式下怎么编辑/etc/inittab文件?
  • 为什么我无法编辑fstab文件?
  • 请教下:是否有方法 在vim中执行make命令的同时继续编辑和查看文件呢?
  • 请教:怎么在Linux环境下编辑c文件
  • 如何用VI同时编辑n个文件
  • 请教:emacs编辑二进制文件
  • cat 文件名 进入了编辑状态不能推出
  • 为什么我的/etc/samba/smb.conf文件不能编辑?
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 菜鸟问问题:shell是什么呢?普通的ls、cp、pwd这些命令算不算shell呢?如何把自己写的文件变成shell呢?
  • 请教 一个shell问题 如何通过shell获得一个日志文件中的增量部分
  • 急救!关于Shell脚本删除过期文件的问题,Shell脚本达人乱入
  • 使用shell在文本文件中进行字符串搜索问题?shell高手请进,分不够可以再加
  • 请教一个shell编程的问题,就是如何在shell编程中读一个文件的内容?谢谢啦!
  • 在调用shell的程序文件时,怎样才能使编译后的可执行文件运行,象在shell状态下那样直接用咋不行呢?
  • shell:sql问题,如何shell循环将不同表数据写入文件中...
  • 在shell命令行中敲一个可执行文件,起一个进程pc,这个进程属于shell进程
  • Shell脚本如何递归现实一个文件夹中的文件(文件夹中含有文件夹)
  • 请教:shell遍历文件夹,处理其中的文件。
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ I/O 成员 eof():如果处于文件结尾处则返回true
  • 求命令:什么命令可以把文件夹下所有的文件按修改时间先后排出来,包括子文件夹里的文件。
  • WinDows8最新版文件夹加密
  • [提问]Linux下如何把多个.a文件编译一个.so文件,或者把多个.so文件编译成一个.so文件
  • sharepoint 2010 使用STSNavigate函数实现文件下载举例
  • 请问:proc中的头文件中能包含头文件吗?(感觉如果头文件中包含头文件的话,在链接时就会有错误啊)
  • python异常信息堆栈输出到日志文件
  • 我要实现当进程打开文件时,根据文件名判断是否符合要求,符合后处理文件,再把文件返回给进程,怎么实现啊
  • 在MyEclipse中设开启xml文件自动提示和自动完成功能
  • 怎么统计一个文件夹下有多少个文件(不包括文件夹)
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 请教高手一个简单问题:给定一个文件名,如何去查找该文件正在被几个程序使用,并怎么样才可以切断这个文件与正在打开该文件的程序之间的
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • linux 下的 .a 文件 .o 文件 是什么文件?各有什么作用?
  • MyEclipse如何查看和设置文件编码格式相关操作
  • 如何用socket一次传输多个文件,如何确定文件一个文件结束
  • 使用libpcap读取tcpdump抓取的文件并解析c代码实例
  • 如何删除某个目录下除了指定文件夹之外的所有文件和文件夹
  • 设置sharepoint 2010文档库中的 pdf文件在浏览器中访问的打开方式
  • solaris文件系统删除文件后文件夹大小不变
  • windows/windows 7/windows 8 下打开查看、修改及保存超大(GB级)文本文件及其它类型文件的工具-PilotEdit
  • Redhat Linux下用c怎么可以知道一个文件是文件夹还是真的文件?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,