linux下用csplit命令分割文件的方法示例

适用场景

csplit命令用于将一个大文件分割成小的碎片,并且将分割后的每个碎片保存成一个文件,csplit命令–>按照指定的范式来分割文件,保存为xx00,xx01…的文件.

拆解文件主要是split和csplit命令,如果说split是按大小来拆分的话,那么csplit则可按匹配来拆分

选项解释

$ csplit -h
  • /[正则表达式]/ #匹配文本样式,比如/SERVER/,从第一行到包含SERVER的匹配行。
  • {*} #表示根据匹配重复执行分割,直到文件尾停止,使用{整数}的形式指定分割执行的次数。
  • -s #静默模式,不打印其他信息。
  • -n #指定分割后的文件名后缀的数字个数。比如01、02、03等。
  • -f #指定分割后的文件名前缀。
  • -b #指定后缀格式。比如%02d.log,类似于C语言中的printf参数格式。

使用方法

$ csplit filename /match/ -n2 {*} -f aa -b ".log"

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

(0)

相关推荐

  • Linux下日志按日分割的shell

    这个脚本是在LNMP论坛找到的,感觉很不错~~ 脚本如下: #!/bin/bash #function:cut nginx log files for lnmp v0.5 and v0.6 #author: http://lnmp.org #设置你的日志存放的目录 log_files_path="/home/wwwlogs/" #日志以年/月的目录形式存放 log_files_dir=${log_files_path}$(date -d "yesterday" +&

  • Linux tomcat下catalina.out日志文件分割

    Linux tomcat下catalina.out日志文件分割 前言: tomcat默认使用Java.util.logging记录日志,默认只记录tomcat的日志,不记录应用的日志.tomcat支持采用log4j进行日志记录,配置方法如下: 1.更新最新的tomcat_juli.jar包到./bin/目录下: 2.拷贝log4j.jar,lo4j.properties到./lib目录下; 3.删除./conf/logging.properties 4.重启 log4j配置样本 实例代码: lo

  • linux下用csplit命令分割文件的方法示例

    适用场景 csplit命令用于将一个大文件分割成小的碎片,并且将分割后的每个碎片保存成一个文件,csplit命令–>按照指定的范式来分割文件,保存为xx00,xx01-的文件. 拆解文件主要是split和csplit命令,如果说split是按大小来拆分的话,那么csplit则可按匹配来拆分 选项解释 $ csplit -h /[正则表达式]/ #匹配文本样式,比如/SERVER/,从第一行到包含SERVER的匹配行. {*} #表示根据匹配重复执行分割,直到文件尾停止,使用{整数}的形式指定分割

  • Linux下删除乱码或特殊字符文件的方法讲解

    由于编码原因,在linux服务器上上传.创建中文文件或目录时,会产生乱码,如果想删除它,用rm命令是删除不了的,这种情况下,用find命令可以删除乱码的文件或目录. 在linux文件系统中,每个文件都有一个i节点号,可以通过i节点号来管理文件.首先进入乱码文件或目录所在的目录 使用ls -i命令找到文件或目录的inode, 文件或目录前面的数字字符串就是inode,接下来使用find命令查询并且删除此文件或目录. 注意:此方法只适用于删除文件或空的文件夹. 非空文件夹怎么删除呢? 首先也是先查i

  • Linux下正确快速删除海量文件的方法分享

    前言 注意本文说的"海量"并不是指体积大,而是指数量,比如一个目录下有数百万个小文件. 最近在优化服务器时发现postfix下的maildrop目录和clientmqueue目录下发现有大量的文件,进入这些目录里使用ls命令是愚蠢的做法,而直接执行rm * , 没有任何反应,文件数量也没有减少,也就是说,在海量文件目录里直接使用rm命令进行删除是无效的. 那么正确的方法是什么呢?有两种方法可选: 第一种: find /path/to/directory -type f -exec rm

  • Linux下自动删除归档日志文件的方法

    1.日志删除策略 自动删除7天前的归档日志与备份文件. 2.调度计划 0 0 * * * nohup sh /db2backup/script/auto_rm_logs.sh & 3.日志删除脚本 auto_rm_logs.sh #!/bin/sh #------------------------------------- # rm db2 archive log file and *.tgz files @hury # create @2016-12-13 # script name:aut

  • Linux下通过python获取本机ip方法示例

    下面介绍在Linux上利用python获取本机ip的方法. 经过网上调查, 发现大致有两种方法, 一种是调用shell脚本,另一种是利用python中的socket等模块来得到,下面是这两种方法的源码: #!/usr/bin/env python #encoding: utf-8 #description: get local ip address import os import socket, fcntl, struct def get_ip(): #注意外围使用双引号而非单引号,并且假设默

  • linux下执行shell命令方法简介

    linux下执行shell命令有两种方法 在当前shell中执行shell命令 在当前shell中产生一个subshell,在subshell中执行shell命令 1.在当前shell中执行shell命令 主要就是在命令行中通过交互方式方式直接输入shell命令,命令行直接执行给出结果.比如这样: 2.在当前shell中产生一个subshell,在subshell中执行shell命令 比如我们把shell写成shell脚本的方式来运行,这个时候会先启动一个subshell来代替当前的shell,

  • linux下用tar命令将当前目录下文件按子目录压缩归档的实现

    日常工作中,我们常常需要用tar命令将历史文件压缩归档,再删除源文件,以便节省空间.如果压缩归档成一个文件,就比较简单,用一条命令即可,如命令:tar -czf bak2013.tgz t2013/*就将t2013目录下所有的文件打包成一个压缩文件.但这样的文件往往太大,使用起来也不方便,这时如果能将t2013目录下的文件按子目录打包,一个子目录一个文件,这样就方便使用了. 实现这样的功能当然不可能是一条命令,用下面这个脚本就可以了: # get directory name subdir=`l

  • 浅谈Linux下通过find命令进行rm文件删除的小技巧

    我们经常会通过find命令进行批量操作,如:批量删除旧文件.批量修改.基于时间的文件统计.基于文件大小的文件统计等,在这些操作当中,由于rm删除操作会导致目录结构变化,如果要通过find结合rm的操作写成脚本,就会遇到一些麻烦,本文通过一个例子为大家进行介绍. 系统环境: SUSE Linux Enterprise Server 11 或 Red Hat Enterprise Linux 问题症状: 客户现场有一个自动化的脚本,有以下的find语句,每天运行以删除某个目录下7天以前的文件或目录,

  • mac 系统下使用 chmod 命令修改文件权限

    PC 端修改文件访问权限算是比较常用的操作,在安装部分软件时经常需要使用到.在 Mac 系统的终端上修改文件权限使用的是 Linux 中的 chmod 命令.这里详细介绍一下该命令的相关使用. 也可以直接通过 man chmod 在终端工具上查看该命令的帮助手册. 查看文件权限 ls -l 命令可以查看当前目录下所有文件的访问权限,也可以查看指定文件.比如,查看 Tomcat bin 目录中的 startup.sh 文件的访问权限时: yifeng:bin yifeng$ ls -l start

  • linux 下的yum命令详解

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载.安装.yum提供了查找.安装.删除某一个.一组甚至全部软件包的命令,而且命令简洁而又好记. yum的命令形式一般是如下:yum [options] [command] [package ...] 其中的[opt

随机推荐