cat命令,通常用于读取、显示和拼接文件内容,但是它的能力远远不仅于此。
例如:如何用一行命令将来自标准输入以及文件的数据给组合起来。
通常做法:将stdin重定向到一个文件,然后再将两个文件组合到一起。
不过,cat命令可以一次性搞定。
一、实战演练
cat表示concatence(拼接)。
用cat读取文件内容的一般写法是:
$cat file1 file2 file3…
这个命令将作为命令行参数的文件内容拼接一起。
1、打印单个文件的内容*
$cat file.txt
This is a line inside file.txt
2、打印多个文件的内容*
$cat one.txt two.txt
This is line from one.txt
This is line from two.txt
二、工作原理
cat命令不仅可以读取文件、拼接数据,还能够从标准输入中进行读取。
从标准输入中读取需要使用管道操作符
OUTPUT_FROM_SOM COMMANDS | cat
类似的,我们可以用cat将来自输入文件的内容与标准输入拼接在一起,将stdin和另一个文件的数据结合起来。方法如下:
$ ehco ‘Text through stdin’ | cat - file.txt
在上面的代码中,-被作为stdin文本的文件名
三、补充内容
cat命令还有其他功能
1、摆脱多余的空白行
$cat -s file
例如:
$cat multi_blanks.txt
line1
line2
line3
line4
$ cat -s multi_blanks.txt #压缩相邻的空白行
line1
line2
line3
line4
2、将制表符显示 ^I
在用Python编写程序时,用于代码缩进的制表符以及空格都是具有特殊含义的。不能混用。
cat有一个特性,就可以将制表符着重标记出来。该特性对排除缩进错误非常非常有用。
用cat -T 可以将制表符标记为 ^T。
$cat file.py
$cat -T file.py
3、行号
使用cat命令的-n选项会在输出的每一行内容之前加上行号。
$cat lines.txt
line
line
line
$cat -n lines.txt
1 line
2 line
3 line
ps:-n甚至会为空白行加上行号。如果想跳过空白行,可以使用 -b