zoukankan      html  css  js  c++  java
  • Linux学习笔记08linux文本处理(cat命令、more命令、head命令、tail命令)

    1.cat命令:连接文件并打印输出到标准输出设备

    cat 命令可以用来显示文本文件的内容,也可以把几个文件内容附加到另一个文件中,即连接合并文件。

    cat 是 concatenate(连接、连续)的简写。

    cat 命令的基本格式如下:

    [root@localhost ~]# cat [选项] 文件名
    或者
    [root@localhost ~]# cat 文件1 文件2 > 文件3

      这两种格式中,前者用于显示文件的内容,常用选项及各自的含义如表 1 所示;而后者用于连接合并文件。

    表 1 cat 命令常用选项及含义
    选项含义
    -A 相当于 -vET 选项的整合,用于列出所有隐藏符号;
    -E 列出每行结尾的回车符 $;
    -n 对输出的所有行进行编号;
    -b 同 -n 不同,此选项表示只对非空行进行编号。
    -T 把 Tab 键 ^I 显示出来;
    -V 列出特殊字符;
    -s 当遇到有连续 2 行以上的空白行时,就替换为 1 行的空白行。

    注意,cat 命令用于查看文件内容时,不论文件内容有多少,都会一次性显示。如果文件非常大,那么文件开头的内容就看不到了。不过 Linux 可以使用PgUp+上箭头组合键向上翻页,但是这种翻页是有极限的,如果文件足够长,那么还是无法看全文件的内容。

    因此,cat 命令适合查看不太大的文件。

    案例1:cat 命令本身非常简单,我们可以直接查看文件的内容。

     案例2:将文件 file1.txt 和 file2.txt 的内容合并后输出到文件 file3.txt 中。

    [lucky@localhost lucky3344]$ cat file1 file2 >file3
    [lucky@localhost lucky3344]$ more file3
    linda in file1
    jack in file2
    [lucky@localhost lucky3344]$ 

     2. more命令:分屏显示文件内容

    more 命令可以分页显示文本文件的内容,使用者可以逐页阅读文件中内容,此命令的基本格式如下:

    [root@localhost ~]# more [选项] 文件名

    more 命令比较简单,一般不用什么选项,对于表 1 中所列的选项,读者只需看到认识即可。

    表 1 more 命令选项及含义
    选项含义
    -f 计算行数时,以实际的行数,而不是自动换行过后的行数。
    -p 不以卷动的方式显示每一页,而是先清除屏幕后再显示内容。
    -c 跟 -p 选项相似,不同的是先显示内容再清除其他旧资料。
    -s 当遇到有连续两行以上的空白行时,就替换为一行的空白行。
    -u 不显示下引号(根据环境变量 TERM 指定的终端而有所不同)。
    +n 从第 n 行开始显示文件内容,n 代表数字。
    -n 一次显示的行数,n 代表数字。

    more 命令的执行会打开一个交互界面,因此读者有必要了解一些交互命令,常用的交互命令如表 2 所示。

    表 2 more 命令交互指令及功能
    交互指令功能
    h 或 ? 显示 more 命令交互命令帮助。
    q 或 Q 退出 more。
    v 在当前行启动一个编辑器。
    :f 显示当前文件的文件名和行号。
    !<命令> 或 :!<命令> 在子Shell中执行指定命令。
    回车键 向下移动一行。
    空格键 向下移动一页。
    Ctrl+l 刷新屏幕。
    = 显示当前行的行号。
    ' 转到上一次搜索开始的地方。
    Ctrf+f 向下滚动一页。
    . 重复上次输入的命令。
    / 字符串 搜索指定的字符串。
    d 向下移动半页。
    b 向上移动一页。

    案例1:用分页的方式显示 file3文件的内容

    [lucky@localhost lucky3344]$ more -5 file3
    linda in file1
    jack in file2
    11
    22
    33
    --More--(41%)

     3.head命令:显示文件开头的内容

     head 命令可以显示指定文件前若干行的文件内容,其基本格式如下:
    [root@localhost ~]# head [选项] 文件名

    该命令常用选项以及各自的含义,如表 1 所示。

    表 1 head 命令常用选项及含义
    选项含义
    -n K 这里的 K 表示行数,该选项用来显示文件前 K 行的内容;如果使用 "-K" 作为参数,则表示除了文件最后 K 行外,显示剩余的全部内容。
    -c K 这里的 K 表示字节数,该选项用来显示文件前 K 个字节的内容;如果使用 "-K",则表示除了文件最后 K 字节的内容,显示剩余全部内容。
    -v 显示文件名;

    注意,如不设置显示的具体行数,则默认显示 10 行的文本数据。

    head 命令默认显示文件的开头 10 行内容。如果想显示指定的行数,则只需使用 "-n" 选项即可,例如:

    案例1:显示文件的开头 8 行内容

    [lucky@localhost lucky3344]$ head -n 8 file3
    linda in file1
    jack in file2
    11
    22
    33
    44
    55
    66
    [lucky@localhost lucky3344]$ 

     4. tail命令:显示文件结尾的内容

    tail 命令和 head 命令正好相反,它用来查看文件末尾的数据,其基本格式如下:

    [root@localhost ~]# tail [选项] 文件名

    此命令常用的选项及含义如表 1 所示。

    表 1 tail 命令选项及含义
    选项含义
    -n K 这里的 K 指的是行数,该选项表示输出最后 K 行,在此基础上,如果使用 -n +K,则表示从文件的第 K 行开始输出。
    -c K 这里的 K 指的是字节数,该选项表示输出文件最后 K 个字节的内容,在此基础上,使用 -c +K 则表示从文件第 K 个字节开始输出。
    -f

    输出文件变化后新增加的数据。

    案例1:显示文件的结尾 8 行内容

    [lucky@localhost lucky3344]$ tail  -n 8 file3
    222
    333
    444
    555
    666
    777
    888
    999
    [lucky@localhost lucky3344]$ 

     

  • 相关阅读:
    RDA安装
    关闭SELinux
    Linux下开启关闭防火墙
    长事务管理
    增加复制表
    Python使用property函数定义的属性名与其他实例变量重名会怎么样?
    Python使用property函数定义属性访问方法如果不定义fget会怎么样?
    Python使用property函数和使用@property装饰器定义属性访问方法的异同点分析
    第8.18节 Python类中内置析构方法__del__
    Python中的列表解析和列表推导是一回事吗?
  • 原文地址:https://www.cnblogs.com/luckyplj/p/15654789.html
Copyright © 2011-2022 走看看