gpt4 book ai didi

unix - 如何使用 UNIX shell 脚本删除平面文件的页眉和页脚记录?

转载 作者:行者123 更新时间:2023-12-04 16:20:45 25 4
gpt4 key购买 nike

我有一个平面文件,如下所示。如何使用 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注意:输入的最少数量是 sed '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
-r {8} 需要扩展正则表达式。

或两者

如果你是 super 迂腐,并且想以最粗犷的方式遮住你的屁股:
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''会变 yourfile到位。如果要将输出存储在另一个文件中(例如,在行尾使用 > outputfile),请删除它。

关于unix - 如何使用 UNIX shell 脚本删除平面文件的页眉和页脚记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4193817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com