【问题标题】:Extracting block of data from a file从文件中提取数据块
【发布时间】:2013-09-19 14:26:17
【问题描述】:

我有一个问题,这肯定可以用 awk 单线解决。

我想将现有的数据文件拆分为单独的文件,该文件由数据块组成。 数据文件格式如下:

1   1
1   2
1   3


2   1
2   2
2   3

3   1
3   2
3   3

我想将每一个数据块存储在一个单独的文件中,命名为 - 例如 - “1.dat”、“.dat”、“3.dat”、... 问题是,每个块没有特定的行号,它们只是由两个“新行”分隔。

提前致谢, 于尔根

【问题讨论】:

标签: awk


【解决方案1】:

这应该让你开始:

awk '{ print > ++i ".dat" }' RS= file.txt

如果你说的两个“换行符”是指两个换行符:

awk '{ print > ++i ".dat" }' RS="\n\n" file.txt

看看结果有何不同?设置 null RS(即第一个示例)可能就是您要查找的内容。

【讨论】:

  • 非常感谢!这正是我想要的! :)
【解决方案2】:

另一种方法:

awk 'NF != 0 {print > $1 ".dat"}' file.txt

【讨论】:

    猜你喜欢
    • 2014-05-01
    • 2020-12-20
    • 2017-04-03
    • 2013-07-28
    • 2021-08-02
    • 2013-03-12
    • 2013-03-20
    • 2019-01-22
    相关资源
    最近更新 更多