如何使用UNIX shell脚本删除平面文件的页眉和页脚记录?
发布时间:2020-12-15 22:54:33 所属栏目:安全 来源:网络整理
导读:我有一个平面文件,如下所示.如何使用UNIX shell脚本从文件中删除页眉和页脚并重写相同的文件. 9 20050427 HEADER RECORD0000000 00000 000000000 123456 00 654321 DATARECORD0000000 00000 000000000 123456 00 654321 DATARECORD0000000 00000 000000000 1
我有一个平面文件,如下所示.如何使用UNIX
shell脚本从文件中删除页眉和页脚并重写相同的文件.
9 20050427 HEADER RECORD 0000000 00000 000000000 123456 00 654321 DATARECORD 0000000 00000 000000000 123456 00 654321 DATARECORD 0000000 00000 000000000 123456 00 654321 DATARECORD 0000000 00000 000000000 123456 00 654321 DATARECORD 6 20050427 TRAILER RECORD 谢谢, 解决方法
…和sed:
正如@Baramin所指出的那样:输入的最少量是’1d; $d’,这是它的工作原理: 按行号 sed -i'' -e '1d' -e '$d' yourfile 1d删除第一行$d删除最后一行. 或者通过模式 sed -r -i -e '/^[0-9] [0-9]{8} HEADER RECORD$/d' -e '/^[0-9] [0-9]{8} TRAILER RECORD$/d' yourfile {8}扩展正则表达式需要-r. 或两者 如果你是超级迂腐,并希望以最流行的方式掩盖你的屁股: sed -r -i.bak -e '1{/^[0-9] [0-9]{8} HEADER RECORD$/d}' -e '${/^[0-9] [0-9]{8} TRAILER RECORD$/d}' yourfile -i”将就地更改您的文件.如果要将输出存储在另一个文件中(例如,使用行末尾的> outputfile),请将其删除. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |