概述
cat
命令会显示所有文件内容,从第一行开始显示。一步用来查看比较小的文件,一整个屏幕能够显示全的。
语法
cat
命令的基本语法如下:cat [选项] 文件名
。
该命令支持的选项有:
选项 | 说明 |
---|---|
-A | 显示文件所有内容 |
-b | 为非空行显示行号 |
-E | 显示文件行尾,用一个 $ 符号 |
-e | 等价于 -vE |
-s | 如果有多个空白输出行,则只显示一个空行 |
-n | 文件的每一行都显示行号,无论是否是空行 |
-T | 显示特殊的制表符用 ^I 符号 |
-t | 等价于 -vT |
-v | 显示不可打印字符 |
使用
显示单个文件内容【★★★★★】
可以直接显示某个文本文件的内容:
cat 文件名
显示行号
如果使用 -b
选项则只为非空行显示行号;如果使用 -n
选项则为所有行都显示行号。
显示多个文件内容
可以同时打印多个文件的内容,命令格式如下:
# 语法
cat file1 file2 file3 ...
# 示例
cat one.txt two.txt
从标准输入中读取
还可以从标准输入中读取数据,即使用管道符将前一个命令的结果传递给 cat
。
# 语法
命令 | cat
# 示例
echo "helo world" | cat
将标准输入与另外一个文件中的数据组合在一起
可以将标准输入的数据和另外一个文件中的数据组合在一起,命令格式如下:
# 语法,其中 - 被视为标准输入文本的文件名,等同于同时显示多个文件的内容
命令 | cat - 文件名
# 示例
echo "hello world" | cat - one.txt
删除多余的空白行
有些文本文件中包含多处连续的空白行,如果想要删除额外的空白行,只保留一个空白行。命令格式如下:
# 语法
cat -s 文件名
# 示例
cat -s test.txt
将制表符显示为 ^I
单从视觉上很难将制表符同连续的空格区分开。对于 Python 而言,制表符和空格是区别对待的。在文本编辑器中,两者看起来差不多,但是解释器将其视为不同的缩进。仅仅在文本编辑器中进行观察是很难发现这种错误的。cat
有一个特性,可以将制表符识别出来。这有助于排查缩进错误。用 cat
命令的 -T
选项能够将制表符标记成 ^I
。
# 语法
cat -T 文件名
# 示例
cat -T test.sh