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
下一篇 2017-07-29

相关推荐

  • n28 第二周作业

    n28 第二周作业

    Linux干货 2017-12-09
  • 马哥教育网络班21期+第19周课程练习

    1、描述Tomcat的架构; Tomcat组件,分为4类: 顶层类组件:包括<Server>元素和<Service>元素,它们位于整个配置文件的顶层; 连接器类组件:为<Connector>元素,代表介于客户端与服务器端之间的通信接口,负责将客户端的请求发送给服务器端,并将服务器的响应结果返回给客户端; 容器类组件:代表处…

    Linux干货 2016-12-05
  • Linux上的文件管理类命令

    N27-第二周作业

    2017-10-08
  • N26 第五周博客作业

    1、显示当前系统上root、fedora或user1用户的默认shell; 演示:     [root@263821a05cd9 /]# grep -E “^(root|fedora|user1)\>” /etc/passwd    root:x:0:0:root:/r…

    Linux干货 2017-03-05
  • Linux发展史

    1、Linux是什么     Linux 是一套 Unix-like 的作业系统,是 Unix 的一种,它控制整个系统基本服务的核心程式 (kernel) 是由 Linus 带头开发出来的,「Linux」这个名称便是以「Linus's Minix」来命名,Linus 选择用「大众公有版权」 (GPL)的方式来发行这份程…

    Linux干货 2016-10-19
  • 计算机基础知识

    计算机系统 计算机系统组成的两大部分 硬件系统     主机         中央处理器CPU{运算器,控制器}         内存储器{ROM,RAM} &…

    Linux干货 2016-08-04