Linux基础命令之文本命令

关于文本的命令:

    1.文件查看命令:

       a.cat:查看文件,实现参数给的内容一个个显示出来

           -n:显示行号(显示的空行的行号)

           -b:显示行号(但空行不显示行号)

           -s:当有连续的多个空行压缩为单行(只压缩空行,多行连续的字符不会被压缩)

           -v:查看文件中的 ^M

           -T:显示文件中的TAB键显示为^I

           -e:显示行结束符$

           -A:显示所有的控制符相当于 -evT    

        b.tac:与cat命令的用法相同,只是将cat命令显示的内容反向显示出来

        c.tev:将文件中的字符倒序显示,每一行倒序显示。

    2.分页查看文件

        a.more:按照页数一页页的显示文本中的内容

            space:向下翻一页

            d:向下翻半屏

            Enter:向下滚动一行

            /PATTERN:查找想要匹配的字符

            q:退出more显示的内容,不再显示该内容,退回到命令模式

            d:向前翻一页

        b.less:分屏显示内容

            q命令退出

            用法和man命令的指令相似

            space:向下翻动一页

            /PATTERN:向下查询“字符串”的功能

            ?PATTERN:向上查询“字符串”的功能

               n:重复前一个查询的方向查询

               N:重复前一个查询的反方向查询

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

         a.head:取出前N行的内容

           head [OPTION]… [FILE]…

              -c #: 指定获取前#字节

              -n #: 指定获取前#行

              -#:指定行数

         b.tail:取出后N行的内容

           tail [OPTION]… [FILE]…

              -c #: 指定获取后#字节

-n #: 指定获取后#行

-#:指定行数

-f: 跟踪显示文件新追加的内容, 常用日志监控

                ※-f命令的扩展※

                tail -f /var/log/message:查看日志监控文件,缺点当打开文件中会后无法继续使用命令行编辑器去执行另外的操作

                tail -f /var/log/message &:查看新增的日志文件,当日志的输出打断命令行的输入时,无需重新输入命令,只需将原来想要执行的命令执行完毕之后即可

      4.按列抽取文本和合并文件

         a.cut:将某些信息的某一段切割出来

             cut [OPTION]… [FILE]…

              -d DELIMITER: 指明分隔符,默认tab

              -f FILEDS:

                  #: 第#个字段

                  #,#[,#]:离散的多个字段,例如1,3,6

                  #-#:连续的多个字段, 例如1-6

                     混合使用:1-3,7

              -c:按字符切割

              –output-delimiter=STRING 指定输出分隔符  

          显示文件或STDIN 数据的指定列

                cut -d: -f1 /etc/passwd

                cat /etc/passwd | cut -d: -f7

                cut -c2-5 /usr/share/dict/words

         b.paste 合并两个文件同行号的列到一行

            paste [OPTION]… [FILE]…

                -d 分隔符: 指定分隔符,默认用TAB

                -s : 所有行合成一行显示

                paste f1 f2

                paste -s f1 f2

     5.分析文本的工具

          a.wc:文本数据统计

           计数单词总数、行总数、字节总数和字符总数;可以对文件或STDIN 中的数据运行

              -l:来只计数行数

              -w:来只计数单词总数

              -c:来只计数字节总数

              -m:来只计数字符总数

                wc story.txt

                39 237 1901 story.txt

               行数 字数 字符数

          b.sort:整理文本

            文本排序sort:把整理过的文本显示在STDOUT ,不改变原始文件

            sort [options] file(s)

               -r 执行反方向(由上至下)整理

               -n 执行按数字大小整理

               -f 选项忽略(fold )字符串中的字符大小写

               -u 选项(独特,unique )删除输出中的重复行

               -t c 选项使用c 做为字段界定符

               -k X 选项按照使用c 字符分隔的X 列来整理能够使用多次

         c.diff 和patch:比较文件

            diff比较两个文件之间的区别

            diff foo.conf-broken foo.conf-works

              5c5

              < use_widgets = no

                —

              > use_widgets = yes

              ?  注明第5 行有区别(改变)

            patch:复制对文件改变

            diff 命令的输出被保存在一种叫做“补丁”的文件中使用 -u 选项来输出“统一的(unified )”diff 格式文件,最适用于补丁文件。

            patch 命令复制在其它文件中进行的改变(要谨慎使用!)

            适用 -b 选项来自动备份改变了的文件

            diff -u foo.conf-broken foo.conf-works > foo.patch

            patch -b foo.conf-broken foo.patch

      d.uniq 命令:从输入中删除重复的前后相接的行

            uniq [OPTION]… [FILE]…

              -c: 显示每行重复出现的次数;

              -d: 仅显示重复过的行;

              -u: 仅显示不曾重复的行;

              连续且完全相同方为重复

              常和sort命令一起配合使用:

              sort userlist.txt | uniq -c

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