8.5-文本处理工具(命令篇)

 1、文件查看命令: cat, tac,rev

cat [OPTION]... [FILE]...
    -E: 显示行结束符$
    -n: 对显示出的每一行进行编号
    -A:显示所有控制符
    -b: 非空行编号
    -s:压缩连续的空行成一行
  
    [root@localhost ~]# cat -E aa
    sadsada asda$
     dasdasd  adas$
    $
      adas$
    [root@localhost ~]# cat -A aa
    sadsada^Iasda$
    ^Idasdasd^I^Iadas$
    $
    ^I^Iadas$
    [root@localhost ~]# cat -b aa
         1 sadsada asda
         2  dasdasd  adas
    
         3   adas
tac命令用于将文件以行为单位的反序输出,即第一行最后显示,最后一行先显示
    -a或——append:将内容追加到文件的末尾
    -i或——ignore-interrupts:忽略中断信号
rev命令将文件中的每行内容以字符为单位反序输出,即第一个字符最后输出,最后一个字符最先输出

2、分页查看文件内容

more [OPTIONS...] FILE...
    -d: 显示翻页及退出提示
    
  less:一页一页地查看文件或STDIN输出
    查看时有用的命令包括:
    /文本 搜索 文本
    n/N 跳到下一个 或 上一个匹配
    less 命令是man命令使用的分页器

 3、显示文本前或后行内容

head [OPTION]... [FILE]...
    -c #: 指定获取前#字节
    -n #: 指定获取前#行
    -#: 指定行数
tail [OPTION]... [FILE]...
    -c #: 指定获取后#字节
    -n #: 指定获取后#行(n可省略)
    -n +#:显示文本,忽略文件前n行
    -f: 跟踪显示文件新追加的内容,常用日志监控

4、cut命令用来显示行中的指定部分,删除文件中指定字段。cut经常用来显示文件的内容,类似于下的type命令。

cut(选项)(参数)
    -b:仅显示行中指定直接范围的内容;
    -c:仅显示行中指定范围的字符;
    -d:指定字段的分隔符,默认的字段分隔符为“TAB”;
    -f:显示指定字段的内容;
        #: 第#个字段
        #,#[,#]:离散的多个字段,例如1,3,6
        #-#:连续的多个字段, 例如1-6
        混合使用: 1-3,7
    --out-delimiter=<字段分隔符>:指定输出内容是的字段分割符;
显示文件或STDIN数据的指定列
cut -d: -f1 /etc/passwd
cut /etc/passwd | cut -d: -f7
cut -c2-5 /usr/share/dict/word

5、paste 合并两个文件同行号的列到一行

  paste [OPTION]... [FILE]...
      -d 分隔符:指定分隔符,默认用TAB
      -s : 所有行合成一行显示
      paste f1 f2
      paste -s f1 f2

6、计数单词总数、行总数、字节总数和字符总数

可以对文件或STDIN中的数据运行
    $ wc story.txt
      39 237 1901 story.txt
      行数 字数 字符数
      使用 -l 来只计数行数
      使用 -w 来只计数单词总数
      使用 -c 来只计数字节总数
      使用 -m 来只计数字符总数

7、把整理过的文本显示在STDOUT,不改变原始文件

$ sort [options] file(s)
    常用选项
    -r 执行反方向(由上至下)整理
    -n 执行按数字大小整理
    -f 选项忽略( fold)字符串中的字符大小写
    -u 选项(独特, unique)删除输出中的重复行
    -t c 选项使用c做为字段界定符
    -k X 选项按照使用c字符分隔的X列来整理能够使用多次

正则表达式

正则表达式.png

原创文章,作者:M20-1--孔祥文,如若转载,请注明出处:http://www.178linux.com/30020

赞 (0)
M20-1--孔祥文M20-1--孔祥文
上一篇 2016-08-07 22:06
下一篇 2016-08-07 22:06

相关推荐

  • 大数据计算:如何仅用1.5KB内存为十亿对象计数

    Big Data Counting: How To Count A Billion Distinct Objects Using Only 1.5K This is a guest post by Matt Abrams (@abramsm), from Clearspring, discussing how they are able to accurat…

    Linux干货 2015-04-08
  • sed的使用和脚本练习

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#。 cp /etc/rc.d/rc.sysinit /tmp sed -i ‘s/\(^[[:space:]]\)/#\1/g’ /tmp/rc.sysinit 2、复制/boot/grub/grub.conf至/t…

    Linux干货 2017-08-06
  • rpm实现LAMP

    rpm实现LAMP部署 LAMP概述 LAMP指的Linux(操作系统)、ApacheHTTP 服务器,MySQL(有时也指MariaDB,数据库软件) 和PHP(有时也是指Perl或Python) 的第一个字母,一般用来建立web应用平台。常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同…

    Linux干货 2016-11-02
  • 程序包管理之yum:yum源\库配置以及源码编译安装

    程序包管理之yum yum概念 什么是yum 由yellow dog这一发行版的开发者Terra Soft研发。 使用rpm命令安装软件包时,解决不了依赖关系,就会很麻烦,使用yum可以自行解决依赖关系。 删除某个安装包,如果是用rpm删除,就卸载掉某个依赖关系从而导致其他软件包不能使用。 yum特点 可同时配置多个软件仓库 简洁的配置文件/etc/yum.…

    Linux干货 2016-11-22
  • N22-℡浮生.若夢 ╮第七周作业

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; ~]# mke2fs -t mkfs.ext4 -b 2048 -L MYDATA -m 2 /…

    Linux干货 2016-11-14
  • 马哥教育网络班21期+第10周课程练习

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) POST(Power On Self Test): 检测系统外围关键设备(如:CPU、内存、显卡、I/O、键盘鼠标等)是否正常。 加载BIOS(Basic Input and Output System): 根据在BIOS中设置的系统启动顺序来搜索用于启动系统的驱动器(硬盘、光盘、U…

    Linux干货 2016-09-08