Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 如何在UNIX中使用GREP/other命令从文本文件中剥离头记录和尾记录_Shell_Unix_Ksh - Fatal编程技术网

Shell 如何在UNIX中使用GREP/other命令从文本文件中剥离头记录和尾记录

Shell 如何在UNIX中使用GREP/other命令从文本文件中剥离头记录和尾记录,shell,unix,ksh,Shell,Unix,Ksh,我有一个平面文件,如下所示。如何使用UNIX shell脚本(KSH)从文件中删除页眉和页脚(其中页眉以“H:”开头,尾部以“T:”开头),并将其余数据重写到另一个文件中 H:20050427 HEADER RECORD 0000000 00000 000000000 123456 00 654321 DATARECORD 0000000 00000 000000000 123456 00 654321 DATARECORD 0000000 00000 000000000 123456 00 6

我有一个平面文件,如下所示。如何使用UNIX shell脚本(KSH)从文件中删除页眉和页脚(其中页眉以“H:”开头,尾部以“T:”开头),并将其余数据重写到另一个文件中

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

要删除第一行和最后一行,可以执行以下操作:

 tail -n +2 input-file | head -n -1 > output-file
 egrep -v '^[HT]:' input-file > output-file
。。。或者删除以“H:”或“T:”开头的任何行,可以执行以下操作:

 tail -n +2 input-file | head -n -1 > output-file
 egrep -v '^[HT]:' input-file > output-file

要删除第一行和最后一行,可以执行以下操作:

 tail -n +2 input-file | head -n -1 > output-file
 egrep -v '^[HT]:' input-file > output-file
。。。或者删除以“H:”或“T:”开头的任何行,可以执行以下操作:

 tail -n +2 input-file | head -n -1 > output-file
 egrep -v '^[HT]:' input-file > output-file

假设您显示的内容合理地代表了其他数据(您希望保留的所有内容都以数字开头,您希望删除的所有内容都以字母开头),那么它应该非常简单,比如:
grep“^[0-9]”inputfile>outputfile

假设您所显示的内容合理地代表了其他数据(您想要保留的所有内容都以数字开头,想要删除的所有内容都以字母开头),它应该非常简单,类似于:
grep“^[0-9]”inputfile>outputfile

删除第一行和最后一行:
sed'1d$d'文件

删除第一行和最后一行:
sed'1d$d'文件

这工作非常好。但在最后一行留下了额外的空白。这是完美的工作。但最后一行留下了额外的空白。