美文网首页
用awk给文件分片

用awk给文件分片

作者: 六十三63 | 来源:发表于2020-04-05 20:34 被阅读0次

    说明

    用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
    
    

    相关文章

      网友评论

          本文标题:用awk给文件分片

          本文链接:https://www.haomeiwen.com/subject/qmypphtx.html