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

相关推荐

  • nginx配置(二)

    ngx_http_gzip_module: The ngx_http_gzip_module module is a filter that compresses responses using the “gzip” method. This often helps to reduce the size of transmitted data by half…

    Linux干货 2017-05-08
  • iptables防火墙

    Linux防火墙基础 在Internet中,企业通过架设各种应用系统来为用户提供各种网络服务,例如Web网站,电子邮件系统,FTP服务器,数据库系统等等,而防火墙就是用来保护这些服务器,过滤企业不需要的访问甚至是恶意的入侵。 Linux防火墙体系主要工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙。Linux防火墙体系基于内核编码实…

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

    httpd学习前知识必备: I/O类型 同步和异步 synchronous asynchronous  关注的是消息通知机制,如何通知调用者,站在被调用者的角度 同步:调用发出后不会立即返回,一旦返回即是最终结果 异步:调用发出后会立即返回消息,但不是最终结果,被调用者通过状态,通知机制,或回调函数处理结果 阻塞和非阻塞 block nonbloc…

    Linux干货 2016-08-15
  • 优云Automation:实现IT服务弹性伸缩的利器

    随着互联网业务快速持续增长,IT资源使用量按需变化成为常态,这就要求信息部门能快速响应资源使用的变化要求,对运维提出不小挑战。比如电商、在线教育等企业经常推出一些秒杀、抢红包活动,在特定时间段对资源的利用处于高峰期,之后基本处于空闲。 几年前,我们从申请采购到应用部署上线都只能人工操作,需要提前几个月开始规划。如今通过云平台能很好实现资源按需动态管理,运维人…

    系统运维 2017-03-15
  • N23_第五周

    1.显示/boot/grub/grub.conf中以至少一个空白字符开头的行 egrep “^[[:space:]]{1,}” /boot/grub/grub.conf 2.显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行 egrep “^#[[:space:]]{1,}.*[^[:space…

    Linux干货 2017-02-27
  • Linux源码包安装详解

    安装源码包 安装一个源码包,是需要我们自己把源代码编译成二进制的可执行文件。如果你读得懂这些源代码,那么你就可以去修改这些源代码自定义功能,然后再去编译成你想要的。使用源码包的好处除了可以自定义修改源代码外还可以定制相关的功能,因为源码包在编译的时候是可以附加额外的选项的。 源码包的编译用到了linux系统里的编译器,常见的源码包一般都是用C语言开发的,这也…

    Linux干货 2016-09-06