Bash拆分一个大的gzip压缩文件

时间:2017-07-25 06:14:20

标签: bash awk split

我最近一直在处理一些文件处理,我正在尝试编写一个bash one-liner,它看起来像:

zcat largefile.gz | split_by_delimiter_into_separate_files

我尝试的事情:

zcat largefile.gz | awk '{print $0 " //"> "separate_file" NR}' RS='//'  

我想要拆分的分隔符是“//”。我知道像python这样的东西可能会把它解决成几行,但我的项目不是基于python的,所以这不是一个选项..

2 个答案:

答案 0 :(得分:2)

试试这样:

zcat largefile.gz | awk -vRS='//' '{print $0 " //"> "separate_file" NR}'

答案 1 :(得分:0)

您可以使用我认为完全符合您需要的split

zcat largefile.gz | split -p '//' - separate_file_

将创建带有separate_file_前缀的文件,其内容为large file,分为//