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

相关推荐

  • 系统管理之系统启动及内核编译

    CentOS 5和6的启动流程服务管理Grub管理自制Linux启动排错编译安装内核 系统启动流程:  POST –> 读取BootSequence (BIOS),决定引导次序 –>读取引导设备的Bootloader(MBR grubstage1–>stage1.5/boot…

    Linux干货 2016-09-13
  • 进程查看及管理

        在Linux系统中,触发任意一个事件时,系统都会将它定义为一个进程,并且给予这个进程一个ID,称为PID,同时依据触发这个进程与用户相关的属性关系,给予这个PID一组有效的权限设置。 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。…

    Linux干货 2016-11-27
  • 关于rpm及yum的一些感想

    rpm -ivh PACKAGE_FILE  注意: (1) 不要对内核做升级操作;Linux支持多内核版本并存,因此 ,对直接安装新版本内核 v rpm {-q严格–query} [select-options] [query-options] v [se…

    Linux干货 2016-08-24
  • lnmp部署实验

    Lnmp部署 实验环境: 1、Centos 7主机一台,客户机一台。 2、在centos 7主机上部署:    Nginx  php-fpm  php-mysql  mariadb-server 实验步骤: 1、启动nginx服务,确保80端口打开,启动mariadb-server,确保3306端口…

    Linux干货 2016-10-30
  • 8月4号作业

    正则表达式表示18位身份证号 egrep "\b[0-9]{17}(x|X|[0-9])\b" 正则表达式表示手机号 egrep "\b1[3,5,8,7][0-9]{9}\b" phone 正则表达式表示邮箱 grep -E "\b[[:alnum:]].*@[[:alnum:]]{2,3}.[[:alnu…

    Linux干货 2016-08-08
  • N22-第八周作业

    第八周 1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。      集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。它工作于OSI(开放系统互联参考模型)参考模型第一层,即“物理层”。    &n…

    Linux干货 2016-10-09