Bash拆分一个大的gzip文件
我最近一直在处理一些文件处理,我正在尝试编写一个bash one liner,它看起来像: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的,
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{}
将在脚本开始时运行一次。