linux之文本处理工具

今天来聊一聊关于linux中处理shell的文本工具,主要说说以下命令:

 · 文件查看命令:cat、tac、

 · 分页查看文件内容:more、less

 · 显示文本前行或后行内容:head、tail

 · 按列抽取文本:cut

 · 合并文件:paste

 · 文本数据统计:wc

 · 文本排序:sort、uniq

cat

      cat命令的用途是连接文件或标准输入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。

      1.命令格式:cat [选项] [文件]…
      2.命令功能:
           a)一次显示整个文件:cat filename
           b)从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.
           c)将几个文件合并为一个文件:cat file1 file2 > file
      3.参数:

         -E  显示行结束符$

         -n  对显示出的每一行进行编号

         -A  显示所有控制符  

         -b  对输出的非空行进行编号

         -s  将连续的空行变成一行

     4.示例:

       以显示行号的方式显示file文件的全部内容

linux之文本处理工具

      把两个文件合并成一个文件

linux之文本处理工具

     用cat键盘输入创建文件(图有点乱,请别介意)

linux之文本处理工具

tac

     反向显示内容,跟cat显示的内容相反。

linux之文本处理工具   

more

       more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。

       命令格式:more [选项] 文件名

       命令参数:

              -b   显示翻页及退出提示

             +n   从笫n行开始显示
             -n    定义屏幕大小为n行  
             -c    从顶部清屏,然后显示
             -d    提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能
             -l     忽略Ctrl+l(换页)字符
             -p    通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
             -s    把连续的多个空行显示为一行
             -u    把文件内容中的下画线去掉
      常用操作命令:
             Enter    向下n行,需要定义。默认为1行
             Ctrl+F   向下滚动一屏
             空格键  向下滚动一屏
             Ctrl+B  返回上一屏
             =       输出当前行的行号
            :f     输出文件名和当前行的行号
             V      调用vi编辑器
             !命令   调用Shell,并执行命令 
             q       退出more

linux之文本处理工具
           

less   

     less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,less可以往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。 less可同时查看多个文件使用n或者p进行切换。

     命令格式:less  [选项]  文件名

     参数:

            -b <缓冲区大小> 设置缓冲区的大小
            -e    当文件显示结束后,自动离开
            -f     强迫打开特殊文件,例如外围设备代号、目录和二进制文件
            -g    只标志最后搜索的关键词
            -i     忽略搜索时的大小写
            -m   显示类似more命令的百分比
            -N   显示每行的行号
            -o   <文件名> 将less 输出的内容在指定文件中保存起来
            -Q   不使用警告音
            -s    显示连续空行为一行
            -S    行过长时间将超出部分舍弃
            -x <数字>  将“tab”键显示为规定的数字空格
            /字符串   向下搜索“字符串”的功能
            ?字符串   向上搜索“字符串”的功能
            n:重复前一个搜索(与 / 或 ? 有关)
            N:反向重复前一个搜索(与 / 或 ? 有关)
            b: 向后翻一页
            d:  向后翻半页
            h:  显示帮助界面
            Q:  退出less 命令
            u:  向前滚动半页
            y:向前滚动一行
            空格键: 滚动一行
            回车键 :滚动一页
           [pagedown]: 向下翻动一页
           [pageup]:  向上翻动一页


head

      用来显示开头行,默认显示前10行。

      命令格式:head [参数] [文件名]

      这里只介绍 -n

linux之文本处理工具


tail

     与head相反,取后行内容,默认后10行。

linux之文本处理工具


cut

      命令格式:cut [选项] [文件名]

      参数:
            -d 指明分隔符,默认tab
            -f FILEDS:
            #: 第#个字段
           #,#[,#]:离散的多个字段,例如1,3,6
          #-#:连续的多个字段, 例如1-6
            混合使用:1-3,7
          -c 按字符切割
          –output-delimiter=STRING指定输出分隔符

          显示文件的指定列
          cut -d: -f1 /etc/passwd
          cat /etc/passwd | cut -d: -f7
      示例:

linux之文本处理工具

      -d: -f1 表示:以:为分隔符截取第一列的数据。

paste

      合并两个文件同行号的列到一行
      命令格式:paste [选项]  [文件名]

     参数:
           -d 分隔符:指定分隔符,默认用TAB
           -s 所有行合成一行显示

linux之文本处理工具

wc
     wc: word count 计数
    参数: 

           -m 字符数
           -c 字节
           -l 行数
          -w 单词数

    示例:
linux之文本处理工具 
   有没有疑问?为什么输入的是abcd,明明是4个,怎么字符数和字节数显示结果都是5?是因为后面还有一个结束符没显示,但是系统也统计了进去。

sort

      命令格式:sort  [选项]  [文件名]

     参数:

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

uniq

      从输入中删除前后相接的重复的行,常和sort 命令一起配合使用
      命令格式:uniq [选项] [文件名]

     参数:
           -c: 显示每行重复出现的次数
           -d: 仅显示重复过的行
           -u: 仅显示不曾重复的行
         连续且完全相同方为重复
 linux之文本处理工具

      看出什么变化了么?连着的123,被删除了一个。再看下张图

linux之文本处理工具

linux之文本处理工具

    好了,就先说这么多吧,有没有觉得这些命令很好玩?大家下周见喽!( ^_^ )/~~拜拜
































































































































































































































原创文章,作者:吼吼哈嘿,如若转载,请注明出处:http://www.178linux.com/83092

(0)
吼吼哈嘿吼吼哈嘿
上一篇 2017-07-29 17:33
下一篇 2017-07-29 18:48

相关推荐

  • 位置变量$1,$2,$@,$*,$#详解

    位置变量: 位置变量实际是属于系统预定义变量的一种,不能修改变量名,同时作用也是固定的,也不能新增的变量,只能修改变量的值。     常用的位置参数变量        $0代表命令本身,$1-$9代表第一到第九个参数,十以上的参数需要用大括号括起来,比如${11}.     该变…

    Linux干货 2016-08-18
  • nginx初步

    一、知识整理 1、查看进程使用的cpu;ni查看nice值 [root@localhost html]# ps axo pid,comm,psr,ni  43769 nginx          &n…

    Linux干货 2016-10-31
  • 马哥教育网络班20期+第2周课程练习

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示 文件管理命令:ls、cd、pwd、mkdir、rmdir、cp、rm.、mv、touch、cat、more、less、head、tail 1)ls命令:显示目录文件   -a 显示所有文件,包括隐藏文件  ~]# ls -a /etc.  &n…

    Linux干货 2016-06-23
  • 硬盘分区MBR和GPT选哪个好?有什么区别?

    当前主流的硬盘分区方式有两种:MBR和GPT。 一、MBR与GPT简介与结构 什么是MBR?         MBR,全称为Master Boot Record,即硬盘的主引导记录。是对IBM兼容机的硬盘或者可移动磁盘分区时,在驱动器最前端的一段引导扇区。 MBR的组成部分       &…

    Linux干货 2016-08-29
  • 冥界之王-第8周作业

       1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。     网桥:网桥(Bridge)是早期的两端口二层网络设备,用来连接不同网段。网桥的两个端口分别有一条独立的交换信道,        &nbs…

    Linux干货 2016-10-23
  • 初学Linux之文件查找和压缩

    使用locate命令 ,使用find命令 ,压缩和解压缩工具

    2018-01-13