cat 命令可以将文件内容输出在输出端,或者将多个文件合并输出到输出端。
语法
cat [OPTION]... [FILE]...
可使用的option值可以通过 man cat 命令查阅,这里不再赘述。
示例
假设你在当前目录下有两个文件a.txt和b.txt。
// a.txt
a
aa
aaa
// b.txt
b
bb
bbb
例1 在终端上打印a.txt的内容。
[work@10-13-22 ant]$ cat a.txt
a
aa
aaa
可以看到a.txt文件的内容全部输出到了终端上。
例2 合并输出多文件内容
有些场景,我们可能需要一次将多个文件一块输出到终端上进行对比查看,减少多个文件之间的切换。
[work@10-13-22 ant]$ cat a.txt b.txt
a
aa
aaa
b
bb
bbb
这个例子中,我们同时将a和b中的内容一块按照顺序进行输出。cat 命令可以同时指定多个文件。
例3 将多个文件内容合并保存到新文件
[work@10-13-22 ant]$ cat a.txt b.txt > c.txt
[work@10-13-22 ant]$ cat c.txt
a
aa
aaa
b
bb
bbb
本示例中,我们将a和b两个文件内容合并后,没有直接在终端输出,而是输出到了c.txt 。
注:输出至已存在的文件,会覆盖原有的内容。
例3 添加行号
[work@10-13-22 ant]$ cat -n a.txt
1 a
2 aa
3 aaa
通过使用 -n 选项,为输出的内容添加行号,使内容的可读性更强。
例3 添加行号
当文件中存在大量连续的空行时,很影响查看。使用 -s 选项可以将2行以上的空行合并为1行输出。
为了方便演示,我们在 a.txt 中插入一些空行。
// a.txt
a
aa
aaa
为了便于进行对比,先不合并空行:
[work@10-13-22 ant]$ cat -n a.txt
1 a
2
3
4
5 aa
6
7
8 aaa
加上-s选项:
[work@10-13-22 ant]$ cat -sn a.txt
1 a
2
3 aa
4
5 aaa
可以看到原来的多空行全部合并为了一个空行。