文件及内容处理 - split、paste

1. split:分割文件为不同的小片段

split命令的功能说明

split 命令用于将一个文件分割成数个。该指令将大文件分割成较小的文件,在默认情况下将按照每1000行切割成一个小文件。

split命令的语法格式

split [OPTION]... [INPUT [PREFIX]]
split [--help][--version][-][-b ][-C ][-l ][要切割的文件][输出文件名]

split命令的常用参数说明:

split 参数不多,表1为 split 命令的参数及说明:

表1: split 命令的参数及说明

参数选项 解释说明
- 指定每多少行切成一个小文件
-b 指定每多少字节切成一个小文件
--help 在线帮助
--version 显示版本信息
-C 与参数"-b"相似,但是在切 割时将尽量维持每行的完整性
[输出文件名] 设置切割后文件的前置文件名, split会自动在前置文件名后再加上编号

split命令的实践操作

范例1: 使用指令 split 将文件 README 每 6 行切割成一个文件,输入如下命令

split -6 README 

以上命令执行后,指令 split 会将原来的大文件 README 切割成多个以 x 开头的小文件。而在这些小文件中,每个文件都只有 6 行内容。使用指令 ls 查看当前目录结构,如下所示:

[root@backup ~]# ls
README xaa xad xag xab xae xah xac xaf xai 

2. paste:按行合并文件内容

paste命令的功能说明

paste 命令用于合并文件的列。paste 指令会把每个文件以列对列的方式,一列列地加以合并。

paste命令的语法格式

paste [OPTION]... [FILE]...
paste [-s][-d ][--help][--version][文件...]

paste命令的常用参数说明:

paste 参数不多,表1为 paste 命令的参数及说明:

表1: paste 命令的参数及说明

参数选项 解释说明
-d或--delimiters=  用指定的间隔字符取代跳格字符。
-s或--serial   串列进行而非平行处理。
--help  在线帮助。
--version  显示帮助信息。
[文件…] 指定操作的文件路径

paste命令的实践操作

范例1: 使用 paste 指令将文件 filetestfiletestfile1 进行合并,输入如下命令:

paste file testfile testfile1

在执行以上命令之前,首先使用 cat 指令对 3 个文件内容进行查看,显示如下所示:

[root@backup ~]#  cat file
xiongdan 200
lihaihui 233
lymlrl 231
[root@backup ~]#  cat testfile
liangyuanm  ss
[root@backup ~]#  cat testfile1
huanggai 56
zhixi 73 

当合并指令 paste file testfile testfile1执行后,程序界面中将显示合并后的文件内容,如下所示:

xiongdan 200
lihaihui 233
lymlrl 231
liangyuanm  ss
huanggai 56
zhixi 73  

若使用 paste 指令的参数 -s,则可以将一个文件中的多行数据合并为一行进行显示。例如,将文件 file 中的 3 行数据合并为一行数据进行显示,输入如下命令

paste -s file  

上面的命令执行后,显示的数据内容如下所示:

xiongdan 200 lihaihui 233 lymlrl 231

注意:参数 -s 只是将 testfile 文件的内容调整显示方式,并不会改变原文件的内容格式。

今天就写到这里,有什么疑问或出现什么错误,随时欢迎大神们发表评论指点迷津

Shell命令-文件及内容处理之split、paste的更多相关文章

  1. Shell命令-文件及内容处理之more、less

    文件及内容处理 - more.less 1. more:分页显示文件内容 more命令的功能说明 more 命令类似 cat,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白 ...

  2. Shell命令-文件及内容处理之sort、uniq

    文件及内容处理 - sort.unip 1. sort:对文件的文本内容排序 sort命令的功能说明 sort 命令用于将文本文件内容加以排序.sort 可针对文本文件的内容,以行为单位来排序. so ...

  3. Shell命令-文件及内容处理之cat、tac

    文件及内容处理 - cat.tac 1. cat:显示文件内容 cat命令的功能说明 cat命令用于连接多个文件并且打印到屏幕输出或重定向到指定文件中 cat命令的语法格式 cat [OPTION]. ...

  4. Shell命令-文件及内容处理之head、tail

    文件及内容处理 - head.tail 1. head:显示文件内容头部 head命令的功能说明 head 命令用于显示文件头部内容,默认执行 head 命令会输出文件开头的 10 行. head命令 ...

  5. Shell命令-文件及内容处理之cut、rev

    文件及内容处理 - cut.rev 1. cut:切割文件内容 cut命令的功能说明 cut 命令用于显示每行从开头算起num1 到 num2 的文字. cut命令的语法格式 cut [OPTION] ...

  6. Shell命令-文件及内容处理之diff、vimdiff

    文件及内容处理 - diff.vimdiff 1. diff:比较两个文件区别 diff命令的功能说明 diff命令用比较文件的差异.diff以逐行的方式,比较文本文件的异同处.如果指定要比较目录,则 ...

  7. Shell命令-文件及内容处理之wc,tr

    文件及内容处理 - wc.tr 1. wc:统计文件的行数.单词数或字节数 wc命令的功能说明 wc 命令用于计算字数.利用 wc 指令我们可以计算文件的字节数,字数,或是列数,若不指定文件名称,或是 ...

  8. Shell命令-文件及内容处理之vi、vim

    文件及内容处理 - vi.vim 1.Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器 ...

  9. Shell命令-文件及内容处理之grep(egrep)、join

    文件及内容处理 - grep(egrep).join 1. grep(egrep):文本过滤工具 grep(egrep)命令的功能说明 grep命令是Linux系统中最重要的命令之一,其功能是从文本文 ...

随机推荐

  1. Php导出百万数据的优化

    导出数据量很大的情况下,生成excel的内存需求非常庞大,服务器吃不消,这个时候考虑生成csv来解决问题,cvs读写性能比excel高.测试表student 数据(大家可以脚本插入300多万测数据.这 ...

  2. C# 处理PPT水印(二)——去除水印效果(文本水印、图片水印)

    本文将对C#处理PPT幻灯片中的水印进一步说明和介绍.在C# 处理PPT水印(一)一文中,分享了如何插入水印效果的方法,包括插入文字水印效果.插入图片作为水印效果两种情况,那对于不需要水印效果的情况, ...

  3. Python 面向对象之反射

    Python 面向对象之反射 TOC 什么是反射? hasattr getattr setattr delattr 哪些对象可以使用反射 反射的好处 例子一 例子二 什么是反射? 程序可以访问.检查和 ...

  4. 代码编辑器横评:为什么 VS Code 能拔得头筹

    摘要: 为什么 VS Code 这么火... 公众号:玩转 VS Code 原文:代码编辑器横评:为什么 VS Code 能拔得头筹 Fundebug经授权转载,版权归原作者所有. 2015 年 4 ...

  5. 基本数据类型 列表 list

    今日内容一.列表======================================基本使用======================================1.用途:用来记录同种属 ...

  6. ssm基础搭建步骤

    今天搭建新的项目环境,从网上找了些ssm的搭建步骤,终于找到了一位csdn的大佬,可以说写的特别详细,按照上面步骤搭建即可,为了方便日后参考,转载到本人博客,原文链接:https://blog.csd ...

  7. Dynamics 365 CE中AsyncOperationBase表记录太多,影响系统性能怎么办?

    微软动态CRM专家罗勇 ,回复311或者20190311可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 本文主要是根据微软官 ...

  8. QT获取本机IP和Mac地址

    #include <QNetworkInterface> #include <QList> void MainWindow::getIPPath() { QString str ...

  9. Android PAI (PlayAutoInstall)预装APK 功能

    最近刚找到工作,是手机方案公司,刚接触手机系统预装的APP,以及解决方案MTK平台下预装APP的bug,也接触到了Launcher的东西. 然后接触到了第一个需求 PAI预装APK功能 下面是我用到的 ...

  10. 使用sqlyog或者navicat连接mysql提示1862错误解决

    mysql的bin目录下执行  mysqladmin -uroot -p password 依次输入旧密码.新密码.确认新密码 修改后重新使用sqlyog或navicat连接成功 问题解决!