Linux cat命令

cat(concatenate)

连接文件并将其输出到标准输出设备上。

cat [选项] [文件名]

选项:

  • -A 或 –show-all:等同于-vET
  • -b 或 –number-nonblank:对所有输出的非空行编号(由1开始)
  • -e:等同于-E
  • -E 或 –show-ends:每行末尾显示$
  • -n 或 –number:对所有输出的行编号(由1开始)
  • -s 或 –squeeze-blank:遇到连续两行及以上的空白行时,替换(压缩)为1行空白行输出
  • -t:等同于-vT
  • -T 或 –show-tabs:将TAB字符显示为^I
  • -v 或 –show-nonprinting:显示非打印字符,显示为^M,LFD与TAB除外
  • –help:显示帮助并退出
  • –version:输出版本号并退出

示例:

在home目录下新建linux/cat目录,在新建的cat目录下新建cat_test1和cat_test2文本文件,分别输入文本内容,如下图。

cat_test1文本内容

输入cd linux/cat进入该目录,输入cat cat_test1查看cat_test1文本内容,如下图。

查看cat_test1文本内容

输入cat -n cat_test1,输出cat_test1内容并显示所有行号,如下图。

输入cat -b cat_test1,输出cat_test1内容并显示所有非空白行行号,如下图。

显示cat_test1所有非空白行行号

输入cat -n -s cat_test1,将cat_test1连续两行及以上的空白行替换为1行空白行,输出内容并显示所有行号,如下图。

输入cat -T cat_test1,输出cat_test1并将TAB字符显示为^I,如下图。

将cat_test1中TAB字符显示为^I

输入cat -E cat_test1,输出cat_test1并在每行末尾显示$,如下图。

在cat_test1每行末尾显示$

输入cat -n -s cat_test1 > cat_test2,将cat_test1文本内容压缩空白行并添加行号输入到cat_test2中。使用>会将cat_test2(第二个文件)的内容覆盖掉。如下图。

覆盖

cat_test2内容被覆盖(原来为The source text.)。如下图。

cat_test2新文本内容

在该cat目录下新建cat_test3文本文件,输入文本内容,如下图。

cat_test3文本内容

输入cat -n -s cat_test1 >> cat_test3,将cat_test1文本内容压缩空白行并添加行号输入到cat_test3中。使用>>不会将cat_test3的内容覆盖掉,而是在文件的末尾添加。如下图。

添加

在cat_test3末尾添加(原来为This is cat_test3.)。如下图。

对于选项中的-v,显示非打印字符。如在Windows系统中建立文本文件,换行符为’\r\n’,而Linux系统中换行符使用’\n’。故在Windows系统中建立的文件在Linux系统中换行符会显示为^M一个字符(^M为Ctrl+v+m组合键)。故使用-v选项用于显示非打印符号。在Windows系统中建立windows_test.txt文本文件,内容与cat_test1内容相同。如下图。

windows_test4文本内容

在Linux系统中,输入cat -v windows_test.txt,会在每行的结尾显示^M。如下图。

更进一步,在Windows系统中的换行符’\r\n’,在Linux成为’\r’+’\n’,’\r’表示返回到当前行最开始的位置(回车),’\n’表示已经到了该行末尾(换行)。

输入cat -E windows_test.txt,在每行末尾显示,但是由于windows_test.txt是在Windows系统下建立的文件,在Linux中遇到’\r’会返回到当前行行首,并显示$。如下图。

输入cat /dev/null > cat_test3,清空cat_test3文本内容。如下图

清空

cat_test3文本内容被删除。如下图。

删除

输入cat > cat_test3 << EOF,输入内容到cat_test3内,以EOF结束。注意输入EOF结束时后面不能输入任何符号。如下图。

cat_test3文本内容更新。EOF为结束符号,不会出现在cat_test3中。如下图。

输入cat cat_test1 > cat_test4,若cat_test4不存在则创建cat_test4,并将cat_test1的文本内容输入到cat_test4中。如下图。

覆盖

cat_test4内容。如下图。

cat_test4文本内容

版权声明:本文为博主原创文章,未经博主允许禁止转载。

如转载,请经过博主允许,请注明出处:http://www.akoukou.com/linux-cat/

Leave a Reply

Close Menu