Linux学习笔记08---linux文本处理(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]$ 

 

posted @ 2021-12-07 10:33  雨后观山色  阅读(279)  评论(0编辑  收藏  举报