csplit命令
csplit命令
csplit命令将用PATTERN分隔的FILE文件输出到文件xx00、xx01、...,并将每个文件的字节数输出到标准输出。
语法
csplit [OPTION]... FILE PATTERN...
参数
-b, --suffix-format=FORMAT: 使用sprintf FORMAT格式而不是%02d。-f, --prefix=PREFIX: 使用PREFIX代替xx。-k, --keep-files: 出错时不要删除输出文件。-m, --suppress-matched: 取消匹配PATTERN的行。-n, --digits=DIGITS: 使用指定的数字位数,而不是2。-s, --quiet, --silent: 不要打印输出文件大小的计数。-z, --elide-empty-files: 删除空输出文件。--help: 输出帮助信息。--version: 输出版本信息。
模式
如果文件被指定为破折号-,csplit将读取标准输入,每种模式可能是:
INTEGER: 复制到指定行号,但不包括指定行号。/REGEXP/[OFFSET]: 复制到但不包括匹配行。%REGEXP%[OFFSET]: 跳至但不包括匹配行。{INTEGER}: 重复上一个模式指定的次数。{*}: 尽可能多次重复前面的模式。
示例
list.txt文件内容如下:
1. Apples
2. Bananas
3. Oranges
4. Pineapples
5. Guava
使用csplit命令将此文件分为两部分,第二部分从第三行开始。
csplit list.txt 3
# 21
# 34
cat xx00
# 1. Apples
# 2. Bananas
cat xx01
# 3. Oranges
# 4. Pineapples
# 5. Guava
使用csplit命令将此文件分为三部分。
csplit list.txt 2 3
# 21
# 34
cat xx00
# 1. Apples
cat xx01
# 2. Bananas
cat xx02
# 3. Oranges
# 4. Pineapples
# 5. Guava
使用自定义的分割前缀aa代替xx分割前缀。
csplit list.txt -f aa 3
# 21
# 34
ls
# aa00 aa01 list.txt
使用三位数字代替默认的两位数字。
csplit list.txt -n 3 3
# 21
# 34
ls
# list.txt xx000 xx001
使用模式定义分割规则,重复上一个模式指定的次数。
csplit list.txt 2 {1}
# 10
# 22
# 23
ls xx*
# xx00 xx01 xx02
每日一题
https://github.com/WindrunnerMax/EveryDay
参考
https://www.computerhope.com/unix/ucsplit.htm
https://www.runoob.com/linux/linux-comm-csplit.html
https://www.geeksforgeeks.org/csplit-command-in-linux-with-examples/
csplit命令的更多相关文章
- Linux csplit命令详解
Linux csplit命令 Linux csplit命令用于分割文件.拆解文件主要是split和csplit命令,如果说split是按大小来拆分的话,那么csplit则可按匹配来拆分: 将文件依照指 ...
- dd、split、csplit命令
在Linux最常用的文件生成和切片工具是dd,它功能比较全面,但无法以行为单位提取文件数据,也无法直接将文件按大小或行数进行均分(除非借助循环).另两款数据分割工具split和csplit能够比较轻松 ...
- linux上的常见命令掌握
http://coolshell.cn/articles/8883.html 这篇文章来源于Quroa的一个问答<What are some time-saving tips that ever ...
- Linux文本过滤常用命令(转)
01 cat命令 通常用来显示文本文件的内容 一般用来查看比较短的文本文件,因为其缓冲区有限 -s选项可以用来合并文件中多余的空行,多个空行将被压缩为一个空行; -n选项可以显示行号 -b选项可以跳过 ...
- [置顶]
Linux 常用命令集锦
出处:http://www.vaikan.com/what-are-the-most-useful-swiss-army-knife-one-liners-on-unix/ Linux命令行里的&qu ...
- linux常用命令技巧
原文地址 这篇文章来源于Quroa的一个问答<What are some time-saving tips that every Linux user should know?>—— Li ...
- Linux命令-文本编辑(一)
Linux命令-文本编辑(一) Linux col命令 Linux col命令用于过滤控制字符. 在许多UNIX说明文件里,都有RLF控制字符.当我们运用shell特殊字符">&quo ...
- Linux学习之常用技巧
▌基础 学习 Bash .你可以man bash来看看bash的东西,并不复杂也并不长.你用别的shell也行,但是bash是很强大的并且也是系统默认的.(学习zsh或tsch只会让你在很多情况下受到 ...
- 应该知道的Linux技巧
作者:陈皓(花名:钻风) 这篇文章来源于Quroa的一个问答<What are some time-saving tips that every Linux user should know?& ...
- Linux和Shell回炉复习系列文章总目录
本页内容都是本人回炉Linux时整理出来的.这些文章中,绝大多数命令类内容都是翻译.整理man或info文档总结出来的,所以相对都比较完整. 本人的写作方式.风格也可能会让朋友一看就恶心到直接右上角叉 ...
随机推荐
- [转帖]NUMA导致的Oracle性能问题
https://www.cnblogs.com/realcp1018/p/6903721.html 背景简介: Oracle版本:11.2.0.4 OS 版本:OEL5.8 在一次Oracle的Dat ...
- Python学习之九_winrm执行远程机器的cmd命令
Python学习之九_winrm执行远程机器的cmd命令 winrm # 注意如下命令需要按照顺序执行. # 打开powershell的管理员模式进行如下的操作. set-executionpolic ...
- Bash 脚本发送消息到企业微信的办法
1. Study From https://www.cnblogs.com/elvi/p/11444388.html 2. 申请或者使用已经有的企业微信. 首先是获取一下企业id 方法如图: 3. 创 ...
- [专题]测试发现部分NVMe SSD的掉电数据保护功能让人失望
https://www.cnbeta.com/articles/tech/1240441.htm 这个有点过分了. 苹果开发者 Russ Bishop 在一份测试报告中指出:即使掉电保护已经是个绕不开 ...
- 大数据从业者必知必会的Hive SQL调优技巧 | 京东云技术团队
摘要:在大数据领域中,Hive SQL被广泛应用于数据仓库的数据查询和分析.然而,由于数据量庞大和复杂的查询需求,Hive SQL查询的性能往往不尽人意.本文针对Hive SQL的性能优化进行深入研究 ...
- 【构造,树】【Loj】Loj6669 Nauuo and Binary Tree
2023.7.3 Problem Link 交互库有一棵 \(n\) 个点的二叉树,你每次可以询问两个点之间的距离,猜出这棵二叉树.\(n\le 3000\),询问次数上限 \(30000\). 首先 ...
- echarts api的介绍
参考的地址:https://echarts.apache.org/zh/api.html echarts.init echarts.init(dom?: HTMLDivElement|HTMLCanv ...
- interface{}类型 + fmt.Sprintf() 导致栈逃逸
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 对部分代码进行了栈逃逸检查: go build -gcfl ...
- Spring源码之XML文件中Bean标签的解析1
读取XML文件,创建对象 xml文件里包含Bean的信息,为了避免多次IO,需要一次性读取xml文件中所有bean信息,加入到Spring工厂. 读取配置文件 new ClassPathResourc ...
- vim 从嫌弃到依赖(10)——缓冲区列表
之前的一系列文章主要介绍了vim文本相关的操作,并且也介绍了vim的几种模式.通过前面的内容,相信各位小伙伴们已经对vim有了一个基本的了解,同时也能够使用vim快速编辑文本,从这篇开始,我们将要介绍 ...