Bash拆分一个大的gzip文件

Bash拆分一个大的gzip文件,bash,awk,split,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的,

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

zcat largefile.gz | split_by_delimiter_into_separate_files
我尝试过的事情:

zcat largefile.gz | awk '{print $0 " //"> "separate_file" NR}' RS='//'  
我试图拆分的分隔符是“/”。我知道类似python的东西可能会将此问题分解为几行,但我的项目不是基于python的,因此这不是一个选项。

尝试如下:

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

您可以使用
split
,我相信这正是您所需要的:

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

将创建前缀为
separate\u file
的文件,内容为
大文件
,拆分为
/

真棒,非常感谢!这到底是为什么?你设置变量时出错了。我使用命令行标志
-v
来设置它。或者您可以这样做:
awk'BEGIN{RS=“/”}{print$0//”>“separate_file”NR}'
。块
BEGIN{}
将在脚本开始时运行一次。