首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

unix shell编程(Ksh) 文件内容分离,求教,多谢

2012-08-21 
unix shell编程(Ksh) 文件内容分离,求教,谢谢account Detail file: acc_detlJava codeH20100520RMD1000028

unix shell编程(Ksh) 文件内容分离,求教,谢谢
account Detail file: acc_detl

Java code
H20100520RM                                                                   D10000289      4999005962          +000074388601+000052345912+000000354951488               D18834804      4999005244          +000000076168+000000076168+000000000000000            [color=#FF6600]D19479732      8630147526          +000001000110+000001000110+000000000260880            D35028000      4900005911          +042645985553+042606672253+000000076412526            [/color]D69000008      4904006485          +000013110899+000013110899+000000577693219            D69000016      4904006501          +000502371438+000502371438+000000525968999            T7                                                    


account file: accounts
Java code
1947973235028000


accounts文件里存放的是:要分离的account 
要求:写一个shell脚本,
将在accounts文件里的account信息从acc_detl文件中抽取出来存放到 accRemove文件中
不在accounts文件里面的account信息存放到accNew文件中。
新生成的accRemove文件和accNew文件结构和acc_detl一样,
H 第一行不变,直接从acc_detl中取,
T 是对应文件中的记录条数。

求教,谢谢!







[解决办法]
C/C++ code
$ sed -n '1p' acc_detl > accRemove$ grep -f accounts acc_detl >> accRemove$ echo T`grep -f accounts acc_detl |wc -l` >> accRemove$ cat accRemove H20100520RM                                                                   D19479732      8630147526          +000001000110+000001000110+000000000260880            D35028000      4900005911          +042645985553+042606672253+000000076412526T2
[解决办法]
C/C++ code
$ sed -n '1p' acc_detl > accNew$ sed '1d;$d' acc_detl |grep -v -f accounts >> accNew $ echo T`sed '1d;$d' acc_detl |grep -v -f accounts |wc -l` >> accNew $ cat accNew H20100520RM                                                                   D10000289      4999005962          +000074388601+000052345912+000000354951488               D18834804      4999005244          +000000076168+000000076168+000000000000000            D69000008      4904006485          +000013110899+000013110899+000000577693219            D69000016      4904006501          +000502371438+000502371438+000000525968999            T4 

热点排行