我有一个平面文件,如下所示。如何从文件中删除页眉和页脚,哪个标题以“H:”开头,预告片以“T:”开头,使用UNIX shell脚本(KSH)并将其余数据重写为不同的文件?
H: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
T:20050427 TRAILER RECORD
答案 0 :(得分:2)
要删除第一行和最后一行,您可以执行以下操作:
tail -n +2 input-file | head -n -1 > output-file
...或者只删除任何以“H:”或“T:”开头的行:
egrep -v '^[HT]:' input-file > output-file
答案 1 :(得分:1)
假设你所展示的内容合理地代表了其他数据(你想要保留的所有内容都以数字开头,而你想要摆脱的所有内容都以字母开头),它应该是非常简单的,例如: grep "^[0-9]" inputfile > outputfile
答案 2 :(得分:1)
删除第一行和最后一行:sed '1d;$d' file