在Linux中分割文件到不同的块[关闭]

5q4ezhmt  于 2023-04-11  发布在  Linux
关注(0)|答案(2)|浏览(121)

已关闭,此问题需要更focused,目前不接受回答。
**要改进此问题吗?**更新问题,使其仅关注editing this post的一个问题。

4天前关闭。
Improve this question
我需要把一个文件分成几部分。
原始文件:

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头必须是块的一部分。
我曾试图用regex的“look around”功能解决这个问题,但没有成功。

1cklez4t

1cklez4t1#

你可以使用“csplit”

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

我想大多数基于debian的发行版都默认安装了它。以防万一你找不到它。安装它:

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

hc8w905p2#

对于任何awk

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

相关问题