用法:cat [选项] [文件]...
将[文件]或标准输入组合输出到标准输出。
-A, --show-all 等价于 -vET
-b, --number-nonblank 对非空输出行编号
-e 等价于 -vE
-E, --show-ends 在每行结束处显示 $
-n, --number 对输出的所有行编号
-s, --squeeze-blank 不输出多行空行
-t 与 -vT 等价
-T, --show-tabs 将跳格字符显示为 ^I
-u (被忽略)
-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
--help 显示此帮助信息并退出
--version 输出版本信息并退出
如果[文件]缺省,或者[文件]为 - ,则读取标准输入。
例1
[root@localhost ~]# cat test #普通输出
1111111111
2222222222
3333333333
[root@localhost ~]# cat -n test #开头显示行号
1 1111111111
2
3
4 2222222222
5
6 3333333333
[root@localhost ~]# cat -E test #以$结束
1111111111$
$
$
2222222222$
$
3333333333$
[root@localhost ~]# cat -s test #超过二个空行,合并成一个
1111111111
2222222222
3333333333
[root@localhost ~]# cat -ns test #去空行,加行号
1 1111111111
2
3 2222222222
4
5 3333333333
例2
[zhangy@BlackGhost awksed]$ cat x* > google_bak.tar.gz #写入到google_bak.tar.gz这个文件
例3
# cat > aa #从键盘录入内容到文件,回车是保存,退出Ctrl+z
4234234
234234
^Z
[4]+ Stopped cat > aa
# cat file1 file2 > file #合并二个文件为一个
例4
# cat test.tar.gz_?? > test.tar.gz #可以用cat命令将被切割的多个压缩包合并成一个
# tar -xvzf test.tar.gz #再用tar命令解压
例5
# 文件test:AA
# 文件test2:BB
# cat test2 >> test #将test2内容加入到test内容后
# cat test
AA
BB
例6
例一:清空文件,并插入
注释:“>”为重定向,清空所有内容只更新一行
[root@jack jackonill]# echo "helo word11" >jackonill.txt
[root@jack jackonill]# cat jackonill.txt
helo word11
例二:插入多行
将制定内容添加的文件 jackonill.txt 当中,当输入EOF后命令结束。
注释:EOF可用其他字符代替。
[root@jack jackonill]# cat >>jackonill.txt << EOF
> JACK
> hello word
> jackonill
> EOF
[root@jack jackonill]# cat jackonill.txt
helo word11
JACK
hello word
jackonill
例7
# 把文件file1和file2连在一起,然后输出到屏幕上(或也可以重定向>file3)
# cat -n file1 file2
评论