将linux中的文件分割为不同的块



我需要把一个文件分割成几个部分。

原始文件:

Header 1
text 1.1
text 1.2
Header 2
text 2.1
text 2.2
因此,我需要将其分割为:

stream1.chunk:

Header 1
text 1.1
text 1.2

stream2.chunk:

Header 2
text 2.1
text 2.2

ps头必须是chunk的一部分。

我试着用正则表达式"look around"有特色,但没有成功。

可以使用"csplit">

csplit original_file '/^Header/' '{*}' --prefix=chunk_ --suffix-format='%02d.txt' --elide-empty-files

我认为在大多数基于debian的发行版中默认安装了它。以防万一你找不到。使用以下命令安装:

sudo apt-get update && sudo apt-get install coreutils

与任意awk:

awk '/^Header/{c=$2} {print > ("stream"c".chunk"); close("stream"c".chunk")}' file
ls stream*chunk

相关内容

  • 没有找到相关文章

最新更新