通过删除文件末尾的新行字符来创建新文件

时间:2011-05-25 13:29:37

标签: shell unix 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
[blank space]

[空格]是在T:

之后没有记录的新行(回车键)

如何从文件中删除空格(如果存在)并使用H:和T之间存在的数据创建新文件:?

谢谢, 阿伦

1 个答案:

答案 0 :(得分:1)

如果要从文件中删除所有空白行,为什么不为具有非空格的行搜索?

$ grep -e \\S <myfile> > <newfile>

\S是“非空格”的简写版本\必须被转义,以便shell传递它,这就是你需要两个反斜杠的原因。