cat(concatenate):连接文件并打印到标准输出设备上。
语法格式
cat [-AbeEnstTuv] [--help] [--version] fileName
参数说明:
-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
-E 或 --show-ends : 在每行结束处显示 $。
-T 或 --show-tabs: 将 TAB 字符显示为 ^I。
-A, --show-all:等价于 -vET。
-e:等价于"-vE"选项;
-t:等价于"-vT"选项;
实例:
- 把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:
cat -n textfile1 > textfile2
- 把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:
cat -b textfile1 textfile2 >> textfile3
- 清空 /etc/test.txt 文档内容:
cat /dev/null > /etc/test.txt
- cat 也可以用来制作镜像文件。例如要制作软盘的镜像文件,将软盘放好后输入:
cat /dev/fd0 > OUTFILE
- 相反的,如果想把 image file 写到软盘,输入:
cat IMG_FILE > /dev/fd0
符号解释:
> : 覆写。>> : 附加。
例如,cat a.txt > b.txt 命令是将a.txt的内容写入b.txt,并把b.txt原来的内容覆盖掉;cat a.txt >> b.txt 命令是将a.txt的内容添加到b.txt的原内容之后;
echo "hello world" > b.txt 命令是将b.txt的内容变为"hello world";
echo "hello world" >> b.txt 命令是在b.txt的内容之后添加一行"hello world";
cat显示指定行
【一】从第3000行开始,显示1000行。即显示3000~3999行
cat filename | tail -n +3000 | head -n 1000
【二】显示1000行到3000行
cat filename| head -n 3000 | tail -n +1000
*注意两种方法的顺序
分解:
tail -n 1000:显示最后1000行
tail -n +1000:从1000行开始显示,显示1000行以后的
head -n 1000:显示前面1000行
【三】用sed命令
sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行