【Linux命令】cat

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行


 



原文地址:https://www.cnblogs.com/SchrodingerDoggy/p/13689997.html