精华内容
下载资源
问答
  • 查看文本文件内容:cat tac head tail less more cut sort cat:连接并显示,简单的显示(进行上下翻页局限)-n 行号(从1开始对所有输出的行数编号)-A:显示不可打印字符,行尾显示“$” 标准输入,标准输出 Ctrl +...

    查看文本文件内容:cat tac head tail less more cut sort

    cat:连接并显示,简单的显示(进行上下翻页局限)
    -n 行号(从1开始对所有输出的行数编号)
    -A:显示不可打印字符,行尾显示“$”

    标准输入,标准输出 Ctrl + C 中断取消命令

    tail默认显示文件的后10行内容,-f 显示文件最新追加的内容,监视文件的变化

    head默认显示文件的前10行内容,-n<数字>:指定显示头部内容的行数

    分屏显示
    more从前往后翻页显示,不支持从后往前翻页,Q:退出命令

    less都支持从前往后,从后往前翻页
    PageUp键向上翻页,PageDown键向下翻页。要退出less程序,应按Q键。

    cut -d 文本处理(剪切)

    -d指定字符分隔符,默认是空格
    -f指定要显示的字段的内容
    cut -d : -f 1-3 /etc/passwd

    sort文本排序
    -n:按数值大小排序
    -t:指定字符分隔符,默认是空格
    -k:指定关键字要进行排序的字段
    -r:降序排序

    -u:排序后相同行只显示一次
    -c:检查文件是否已经按照顺序排序,文件中行重复的次数
    sort -n -k2 file.txt (从大到小排序)
    sort -g -k2 file.txt(从小到大排序)
    -n, --numeric-sort
    -g, --general-numeric-sort
    sort -rn -k2 all_contig.txt (加-r从大到小排序)

    unqi -c 显示文件中行重复的次数 -d 只显示重复的行

    文本统计:wc(word count
    -l:统计行数
    -w:统计单词个数
    -c:统计字节数
    [root@localhost ~]# wc /etc/hosts

    4 23 185 /etc/hosts
    4行,23个单词,185个字节

    tr字符处理命令 用于转换或删除字符
    tr “r” “R” < /etc/passwd 将/etc/passwd 的r换成R
    -d 删除出现在字符集中的所有字符

    file查看文件内容类型的

    ASCII:美国国家标准交换代码
    标准有许多:GB18030、GBK、GB2312、Unicode全球统一代码

    转载于:https://blog.51cto.com/14006510/2299881

    展开全文
  • diff命令是linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方。diff在命令行中打印每一个行的改动。最新版本的diff还支持二进制文件。diff程序的输出被称为补丁(patch),...

    diff 命令是 linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方。diff在命令行中打印每一个行的改动。最新版本的diff还支持二进制文件。diff程序的输出被称为补丁 (patch),因为Linux系统中还有一个patch程序,可以根据diff的输出将a.c的文件内容更新为b.c。diff是svn、cvs、git等版本控制工具不可或缺的一部分。

    命令格式:

    diff [参数][变动前的文件1或目录1][变动后的文件2或目录2]

    命令功能:

    diff命令能比较单个文件或者目录内容。如果指定比较的是文件,则只有当输入为文本文件时才有效。以逐行的方式,比较文本文件的异同处。如果指定比较的是目录的的时候,diff 命令会比较两个目录下名字相同的文本文件。列出不同的二进制文件、公共子目录和只在一个目录出现的文件。

    命令参数:

    -y或--side-by-side  以并列的方式显示文件的异同之处。

    -W或--width  在使用-y参数时,指定栏宽(file1与file2行距)

    -c  显示全部内文,并标出不同之处。

    -u,-U或--unified=  以合并的方式来显示文件内容的不同。

    -r或--recursive  比较子目录中的文件。

    -N或--new-file  在比较目录时,若文件A仅出现在某个目录中,预设会显示:Only in目录:文件A若使用-N参数,则diff会将文件A与一个空白的文件比较。

    -b或--ignore-space-change  不检查空格字符的不同

    -B或--ignore-blank-lines  不检查空白行。

    -H或--speed-large-files  比较大文件时,可加快速度。

    -l或--ignore-matching-lines  若两个文件在某几行有所不同,而这几行同时都包含了选项中指定的字符或字符串,则不显示这两个文件的差异。

    -i或--ignore-case  不检查大小写的不同。

    -q或--brief  仅显示有无差异,不显示详细的信息。

    -r或--recursive  比较子目录中的文件。

    -s或--report-identical-files  若没有发现任何差异,仍然显示信息。

    -S或--starting-file  在比较目录时,从指定的文件开始比较

    -t或--expand-tabs  在输出时,将tab字符展开。

    -T或--initial-tab  在每行前面加上tab字符以便对齐。

    -w或--ignore-all-space  忽略全部的空格字符。

    -v或--version  显示版本信息。

    实例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    [root@ProxyServer src]# cat a.txt 
    111
    aaa
    AAA
    111aaa
    aaa
    AAA
    111
    [root@ProxyServer src]# cat b.txt 
    111
    aaa
    AAA
    111AAA
    aaa
    AAA
    111
    [root@ProxyServer src]#

    正常格式的diff如下

    1
    <span style="padding:0px;margin:0px;font-family:'宋体', arial;font-size:16px;line-height:26px;text-indent:26px;color:rgb(102,102,102);">[root@ProxyServer src]# diff a.txt b.txt <br>4c4<br>< 111aaa<br>---<br>> 111AAA<br>[root@ProxyServer src]#<br></span>

    diff结果第一行“4c4”是一个提示,用来说明变动位置,前面的"4",表示f1的第4行有变化;中间的"c"表示变动的模式是内容改变(change),其他模式还有"增加"(a,代表addition)和"删除"(d,代表deletion);后面的"4",表示变动后变成f2的第4行。

    第二行“< 111aaa”,前面的小于号,表示要从f1当中去除该行(也就是第4行),后面的"111aaa"表示该行的内容。

    第三行“---”用来分割f1和f2。

    第四行“> 111AAA”,类似于第二行。前面的大于号表示f2增加了该行,后面的"111AAA"表示该行的内容。

    上下文格式的diff如下

    1
    <span style="padding:0px;margin:0px;font-family:'宋体', arial;font-size:16px;line-height:26px;text-indent:26px;color:rgb(102,102,102);">[root@ProxyServer src]# diff -c a.txt b.txt <br>*** a.txt 2015-11-08 18:21:50.455124628 +0800  <br>--- b.txt 2015-11-08 18:21:53.391173006 +0800     <br>***************</span><span style="padding:0px;margin:0px;font-family:'宋体', arial;font-size:16px;line-height:26px;text-indent:26px;color:rgb(102,102,102);"><br>*** 1,7 ****<br>  111<br>  aaa<br>  AAA<br>! 111aaa<br>  aaa<br>  AAA<br>  111<br>--- 1,7 ----<br>  111<br>  aaa<br>  AAA<br>! 111AAA<br>  aaa<br>  AAA<br>  111<br>[root@ProxyServer src]# <br></span>

    第一部分显示两个文件的基本情况:文件名和时间信息,"***"表示变动前的文件,"---"表示变动后的文件。

    第二部分#15个星号,将文件的基本情况与变动内容分割开。

    第三部分显示变动前的文件,即f1。这时不仅显示发生变化的第4行,还显示第4行的前面三行和后面三行,因此一共显示7行。所以,前面的"*** 1,7 ****"就表示,从第1行开始连续7行。另外,文件内容的每一行最前面,还有一个标记位。如果为空,表示该行无变化;如果是感叹号(!),表示该行有改动;如果是减号(-),表示该行被删除;如果是加号(+),表示该行为新增。

    四部分显示变动后的文件,即f2。

    合并格式的diff

    1
    <span style="padding:0px;margin:0px;font-family:'宋体', arial;font-size:16px;line-height:26px;text-indent:26px;color:rgb(102,102,102);">[root@ProxyServer src]# diff -u a.txt b.txt <br>--- a.txt 2015-11-08 18:21:50.455124628 +0800<br>+++ b.txt    2015-11-08 18:21:53.391173006 +0800<br>@@ -1,7 +1,7 @@<br> 111<br> aaa<br> AAA<br>-111aaa<br>+111AAA<br> aaa<br> AAA<br> 111<br>[root@ProxyServer src]# <br></span>

    第一部分,也是文件的基本信息。"---"表示变动前的文件,"+++"表示变动后的文件。

    第二部分,变动的位置用两个@作为起首和结束。前面的"-1,7"分成三个部分:减号表示第一个文件(即f1),"1"表示第1行,"7"表示连续7行。合在一起,就表示下面是第一个文件从第1行开始的连续7行。同样的,"+1,7"表示变动后,成为第二个文件从第1行开始的连续7行。

    第三部分是变动的具体内容。除了有变动的那些行以外,也是上下文各显示3行。它将两个文件的上下文,合并显示在一起,所以叫做"合并格式"。每一行最前面的标志位,空表示无变动,减号表示第一个文件删除的行,加号表示第二个文件新增的行。

    并排格式输出

    1
    2
    3
    4
    5
    6
    7
    8
    9
    [root@ProxyServer src]# diff -y -W 50 a.txt b.txt 
    111         111
    aaa         aaa
    AAA         AAA
    111aaa            |   111AAA
    aaa         aaa
    AAA         AAA
    111         111
    [root@ProxyServer src]#

    “|”表示前后2个文件内容有不同

    “<”表示后面文件比前面文件少了1行内容

    “>”表示后面文件比前面文件多了1行内容



    本文转自 justin_peng 51CTO博客,原文链接:http://blog.51cto.com/ityunwei2017/1711777,如需转载请自行联系原作者

    展开全文
  • Linux文本比较指令-diff

    2017-07-30 11:44:06
    diff 命令是 linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方。diff在命令行中打印每一个行的改动。最新版本的diff还支持二进制文件。diff程序的输出被称为补丁 (patch)...

      diff 命令是 linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方。diff在命令行中打印每一个行的改动。最新版本的diff还支持二进制文件。diff程序的输出被称为补丁 (patch),因为Linux系统中还有一个patch程序,可以根据diff的输出将 a.c的文件内容更新为b.c。diff是svn、cvs、git等版本控制工具不可或缺的一部分。

    1.命令格式:

    diff[参数][文件1或目录1][文件2或目录2]
    

    2.命令功能:

      diff 命令能比较单个文件或者目录内容。如果指定比较的是文件,则只有当输入为文本文件时才有效。以逐行的方式,比较文本文件的异同处。如果指定比较的是目录的 的时候,diff 命令会比较两个目录下名字相同的文本文件。列出不同的二进制文件、公共子目录和只在一个目录出现的文件。

    3.命令参数:

    -<行数>:指定要显示多少行的文本。此参数必须与-c或-u参数一并使用;
    
    -a或--text  diff预设只会逐行比较文本文件。
    
    -b或--ignore-space-change  不检查空格字符的不同。
    
    -B或--ignore-blank-lines  不检查空白行。
    
    -c  显示全部内文,并标出不同之处。
    
    -C或--context  与执行"-c-"指令相同。
    
    -d或--minimal  使用不同的演算法,以较小的单位来做比较。
    
    -D或ifdef  此参数的输出格式可用于前置处理器巨集。
    
    -e或--ed  此参数的输出格式可用于ed的script文件。
    
    -f或-forward-ed  输出的格式类似ed的script文件,但按照原来文件的顺序来显示不同处。
    
    -H或--speed-large-files  比较大文件时,可加快速度。
    
    -l或--ignore-matching-lines  若两个文件在某几行有所不同,而这几行同时都包含了选项中指定的字符或字符串,则不显示这两个文件的差异。
    
    -i或--ignore-case  不检查大小写的不同。
    
    -l或--paginate  将结果交由pr程序来分页。
    
    -n或--rcs  将比较结果以RCS的格式来显示。
    
    -N或--new-file  在比较目录时,若文件A仅出现在某个目录中,预设会显示:Only in目录:文件A若使用-N参数,则diff会将文件A与一个空白的文件比较。
    
    -p  若比较的文件为C语言的程序码文件时,显示差异所在的函数名称。
    
    -P或--unidirectional-new-file  与-N类似,但只有当第二个目录包含了一个第一个目录所没有的文件时,才会将这个文件与空白的文件做比较。
    
    -q或--brief  仅显示有无差异,不显示详细的信息。
    
    -r或--recursive  比较子目录中的文件。
    
    -s或--report-identical-files  若没有发现任何差异,仍然显示信息。
    
    -S或--starting-file  在比较目录时,从指定的文件开始比较。
    
    -t或--expand-tabs  在输出时,将tab字符展开。
    
    -T或--initial-tab  在每行前面加上tab字符以便对齐。
    
    -u,-U或--unified=  以合并的方式来显示文件内容的不同。
    
    -v或--version  显示版本信息。
    
    -w或--ignore-all-space  忽略全部的空格字符。
    
    -W或--width  在使用-y参数时,指定栏宽。
    
    -x或--exclude  不比较选项中所指定的文件或目录。
    
    -X或--exclude-from  您可以将文件或目录类型存成文本文件,然后在=中指定此文本文件。
    
    -y或--side-by-side  以并列的方式显示文件的异同之处。
    
    --help  显示帮助。
    
    --left-column  在使用-y参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容。
    
    --suppress-common-lines  在使用-y参数时,仅显示不同之处。

    4 .实例

    有这样两个文件:

    程序清单1 :hello.c

    #include 
    int main(void)
    {
        char msg[] = "Hello world!";
    
        puts(msg);
        printf("Welcome to use diff commond.\n");
    
        return 0;    
    }

    程序清单2:hello_diff.c

    #include 
    #include 
    int main(void)
    {
        char msg[] = "Hello world,fome hello_diff.c";
    
        puts(msg);
        printf("hello_diff.c says,'Here you are,using diff.'\n");
    
        return 0;    
    }

    我们使用diff命令来查看这两个文件的不同之处,有一下几种方便的方法:

    4.1、普通格式输出:

    [root@localhost diff]# diff hello.c hello_diff.c 
    1a2
    > #include 
    5c6
           char msg[] = "Hello world,fome hello_diff.c";
    8c9
           printf("hello_diff.c says,'Here you are,using diff.'\n");
    [root@localhost diff]# 
    上面的“1a2”表示后面的一个文件"hello_diff.c"比前面的一个文件"hello.c"多了一行
    "5c6"表示第一个文件的第5行与第二个文件的第6行有区别
    

    4.2、并排格式输出

    [root@localhost diff]# diff hello.c hello_diff.c -y -W 130
    #include                                          #include 
                                                       > #include 
    int main(void)                                    int main(void)
    {                                                 {
       char msg[] = "Hello world!";                    | char msg[] = "Hello world,fome hello_diff.c";
       puts(msg);                                        puts(msg);
       printf("Welcome to use diff commond.\n");       | printf("hello_diff.c says,'Here you are,using diff.'\n");
       return 0;                                         return 0;
    }                                                  }
    
    [root@localhost diff]# 
    这种并排格式的对比一目了然,可以快速找到不同的地方。
    -W选择可以指定输出列的宽度,这里指定输出列宽为130
    

    4.3、上下文输出格式

    [root@localhost diff]# diff hello.c hello_diff.c -c
    *** hello.c     2007-09-25 17:54:51.000000000 +0800
    --- hello_diff.c        2007-09-25 17:56:00.000000000 +0800
    ***************
    *** 1,11 ****
      #include 
    
      int main(void)
      {
    !       char msg[] = "Hello world!";
    
            puts(msg);
    !       printf("Welcome to use diff commond.\n");
    
            return 0;
      }
    --- 1,12 ----
      #include 
    + #include 
    
      int main(void)
      {
    !       char msg[] = "Hello world,fome hello_diff.c";
    
            puts(msg);
    !       printf("hello_diff.c says,'Here you are,using diff.'\n");
    
            return 0;
      }
    [root@localhost diff]# 
    这种方式在开头两行作了比较文件的说明,这里有三中特殊字符:
    +        比较的文件的后者比前着多一行
    -        比较的文件的后者比前着少一行        
    !        比较的文件两者有差别的行
    

    4.4、统一输出格式

    [root@localhost diff]# diff hello.c hello_diff.c -u
    --- hello.c     2007-09-25 17:54:51.000000000 +0800
    +++ hello_diff.c        2007-09-25 17:56:00.000000000 +0800
    @@ -1,11 +1,12 @@
    #include 
    +#include 
    
    int main(void)
    {
    -       char msg[] = "Hello world!";
    +       char msg[] = "Hello world,fome hello_diff.c";
    
            puts(msg);
    -       printf("Welcome to use diff commond.\n");
    +       printf("hello_diff.c says,'Here you are,using diff.'\n");
    
            return 0;
    }
    [root@localhost diff]# 
    正如看到的那样,统一格式的输出更加紧凑,所以更易于理解,更易于修改。
    

    4.5、其他

    假如你想查看两个文件是否不同又不想显示差异之处的话,可以加上-q选项:

    [root@localhost diff]# diff hello.c hello_diff.c -q
    Files hello.c and hello_diff.c differ

    [root@localhost diff]# 另外你还可以提供一些匹配规则来忽略某中差别,可以用 -I regexp

    [root@localhost diff]# diff hello.c hello_diff.c -c -I include
    *** hello.c     2007-09-25 17:54:51.000000000 +0800
    --- hello_diff.c        2007-09-25 17:56:00.000000000 +0800
    ***************
    *** 2,11 ****
    
      int main(void)
      {
    !       char msg[] = "Hello world!";
    
            puts(msg);
    !       printf("Welcome to use diff commond.\n");
    
            return 0;
      }
    --- 3,12 ----
    
      int main(void)
      {
    !       char msg[] = "Hello world,fome hello_diff.c";
    
            puts(msg);
    !       printf("hello_diff.c says,'Here you are,using diff.'\n");
    
            return 0;
      }
    [root@localhost diff]# 
    这里通过“ -I include”选项来忽略带有“ include”字样的行
    
    展开全文
  • linux文本文件操作

    2009-02-25 14:04:00
    1.如果你只想看文件的前5行,能使用head命令,如:head -5 /etc/passwd 2. 如果你想查看文件的后10行,能使用tail命令,如:tail -10 /etc/passwd ...参数-f使tail不停地去读最新内容,这样有实时监视的效果 ...

    1.如果你只想看文件的前5行,能使用head命令,如:
    head -5 /etc/passwd

    2. 如果你想查看文件的后10行,能使用tail命令,如:
    tail -10 /etc/passwd
    tail -f /var/log/messages
    参数-f使tail不停地去读最新的内容,这样有实时监视的效果

    展开全文
  • tail命令基础介绍 tail命令用于查看纯文本文档的后N行或持续刷新内容,格式为“tail[选项][文本]”。 有时我们可能会遇到这样...tail命令最强的功能是可以持续刷新一个文件的内容,当想要实时查看最新日志文件时,...
  • 大一统,windows下安装linux最新方式

    千次阅读 多人点赞 2020-11-27 23:55:10
    在windows下使用linux为啥要执着于linux入坑指南功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右...
  • 一.linux目录结构 1.常见子目录的作用 我们扩展一下proc:防止内存,CPU等硬件信息tmp:临时目录lib和lib4:函数库mnt:多媒体 二.我们开始学习命令 1.cat命令:显示出文件的内容 cat命令缺点:在字符界面无法用鼠标去...
  • 这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、...
  • 1.cat命令:查看纯文本文件(文件较少的) 格式:cat [选项][文件] -n 显示行号 2.more命令:查看纯文本...4.tail命令:查看纯文本文档后N行或持续刷新内容 格式:tail [选项][文件] -f :查看实时最新文件日志 ...
  • 查看目录下的所有文件(包含隐藏文件)的命令是什么? 以列表的方式查看一个目录下的所有文件并按修改时间的... 打开一个文本文件,只显示第一屏的内容并暂停的命令是什么? 从尾部打开一个文件,并不断刷..
  • 当前仓库搜集了 570 多个 Linux 命令,是一个非盈利性的仓库,生成了一个 web 网站方便使用,目前网站没有任何广告,内容包含 Linux 命令手册、详解、学习,内容来自网络和网友的补充,非常值得收藏的 Linux 命令速...
  • 目录准备工具新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义...
  • Kafka 安装一、Kafka安装环境新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants...
  • 配置文件内容意思 named.conf 我说过了,是主配置文件。在每一次named启动与挂起时都会被读取 一个简单的文本文件,其中记录的可以包括options(全局参数)、zone(区域定义)、access control lists(访问控制列表...
  • linux 命令

    2011-07-28 10:29:51
    touch 文件名:用于新建文本文件,若文件已存在时,更改最新时间,但内容不变 。 例如在所在目录创建 amigo.txt文件,命令为: [sn@minicc ~]$ touch amigo.txt 1.1.2 查看文件内容并分屏: more 文件名 ...
  • 《Red Hat Linux用户基础》结合最新红帽企业版Linux5(RHEL5)操作系统,从零开始深入透彻地讲解Linux系统的基础知识,同时也结合传统UNIX操作系统讲解相关知识。通过《Red Hat Linux用户基础》读者可以学习到如何...
  • linux中常用命令

    2019-09-25 23:19:02
    more:显示文件(文本)的内容(分屏显示)less:显示文件(文本)的内容(分屏显示、可回溯)sort:对文本文件中的各行按字母进行排序 ls | sortwc: wc [选项] 文件列表 统计指定文件中的字节数(-c)、字数(-w)、...
  • linux 搭建 Gitlab

    2021-03-09 13:29:28
    这里写自定义目录标题下载安装功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一...
  • Linux命令总结

    2017-05-19 00:23:00
    1. grep '字符串' 文件名 //搜索文本中字符 2. tail -f 文件名 //不停地去读最新内容,这样有实时监视的效果 3. ps -ef|grep java //查看java进程 4. kill -9 pid //杀进程 5. Ctrl+l(c...
  • 给定一个文本文件 out.log,要求只打印这个文件中的第十行。方法一:使用tail 和head 组合命令思路:日常查看日志用的是tail -n 10 out.log (#输出文件最后10行的内容) 能否使用tail命令实现该功能呢?head -n 10 ...
  • Win10系统下安装linux双系统详细教程(最新Ubuntu18.04.1版本无需U盘!)【不会grub安装失败】【不是虚拟机】超详细步骤!必要准备开始了1.分配空间2.配置安装系统的启动文件3.配置引导选项进入正式安装合理的创建...
  • 自学linux指令分析-vi

    2017-04-11 16:03:00
    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新文本编辑器。 3.使用方式 执行 vi oldboy.txt进入 vi 编辑器(默认是命令模式),点击 a 或者 i 进入编辑模式, 敲入内容I am ...
  • 如何得到Linux最新消息?.........................................................................................3 五.Linux操作系统上有什么应用?.......................................................
  • linux系统中有好几种查看文本内容的命令: cat/less/head/tail/tailf/more/vim等等 -若想看一些信息,但log太多 1.tailf xx.log 重新定位到最新的日志信息,有助于实时查看日志内容。 2.less 文本内容将会...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 159
精华内容 63
关键字:

linux文本最新内容

linux 订阅