用awk给文件分片

说明

用awk给文件分片

文件例子

[root@k8svm1 awktest]# cat exfile
one line
---
two line
---
three line

以上面的文件为例,要通过---符号来给这个单个文件分片成三个文件

awk RS(记录分隔符)

用法是用到awk 的RS,这个RS指的是awk的记录分隔符,默认是换行符,这次我们换成自己想要的记录分隔符,然后把每个记录重定向到其他文件。
命令

awk 'BEGIN{RS="---"}
     {print $0 > NR"file"}
     {close(NR"file")}' \
     exfile

处理的过程

[root@k8svm1 awktest]# awk 'BEGIN{RS="---"}
>      {print $0 > NR"file"}
>      {close(NR"file")}' \
>      exfile
[root@k8svm1 awktest]# ll
total 16
-rw-r--r-- 1 root root 10 Apr  5 20:32 1file
-rw-r--r-- 1 root root 11 Apr  5 20:32 2file
-rw-r--r-- 1 root root 13 Apr  5 20:32 3file
-rw-r--r-- 1 root root 37 Apr  5 20:26 exfile
[root@k8svm1 awktest]# for i in `ls [0-9]file`;do echo name is $i;cat $i;done
name is 1file
one line

name is 2file

two line

name is 3file

three line

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Linux指令中文说明传送入口 整理自Linux指令中文说明 文本和数据进行处理的编程语言awk 是一种编程语言,...
    释闲人阅读 2,145评论 1 6
  • awk介绍awk变量printf命令:实现格式化输出操作符awk patternawk actionawk数组aw...
    哈喽别样阅读 1,588评论 0 4
  • 报告生成器,格式化文本输出,常用选项: -F:指明输入时用到的字段分隔符 -v var=value:自定义变量 介...
    毛利卷卷发阅读 540评论 0 1
  • netstat -tnlp|egrep -i "$1"|awk {'print $7'}|awk -F'/' '{...
    JerichoYu阅读 1,022评论 0 0
  • 本文大部分内容翻译自我开始学习AWK时看到的一篇英文文章 AWK Tutorial ,觉得对AWK入门非常有帮助,...
    mylxsw阅读 1,201评论 0 12