Linux cat命令:查看整个文件

目录

描述

语法

使用示例

查看文本文件

显示文本行号

显示文本行号,但省略空行

合并多行空行

注意事项

省略文件名时

option n和b的组合

显示过大的文件


描述

cat命令是显示文本文件中所有数据的得力工具。cat命令是concatenate的缩写,用于连接文件并打印到标准输出设备上。

语法

cat [-nbs] []
参数名称 描述
-n 添加显示文本的行号
-b 添加显示文本的行号,但会省略空白行
-s 当遇到连续两行以上的空白行,就替换为一行空白行
path 要查看的文件路径

使用示例

查看文本文件

cat可以把指定的文本文件中的所有数据显示出来。

$ cat config/bookmark.ini
[install]
# The path to the python execution file on which the
# startup file in /usr/bin depends
bin_python_path=/usr/bin/python3
python_command=python
pip_command=pip

显示文本行号

可选的-n参数可以显示出文本行号。

$ cat -n config/test.txt
     1
     2	just a test
     3	just a  test line with a tab.
     4
     5	--- end ---

显示文本行号,但省略空行

-n参数会将空行的文本行号显示出来。如果想省略空行的行号,可以使用-b参数。我们以刚刚的test.txt文件为例:

$ cat -b config/test.txt

     1	just a test
     2	just a  test line with a tab.

     3	--- end ---

-b参数没有给空行标注行号。

合并多行空行

可选的-s参数将一行以上的空行合并成一行。我们编辑下test.txt文件:

  1
  2 just a test
  3 just a  test line with a tab.
  4
  5
  6
  7 --- end ---

下面使用-s参数来验证下效果:

$ cat -s config/test.txt

just a test
just a  test line with a tab.

--- end ---

多余的空行消失了。甚至可以组合使用:

$ cat -sb demo.txt

     1	just a test
     2	just a  test line with a tab.

     3	--- end ---
$ cat -sn demo.txt
     1
     2	just a test
     3	just a  test line with a tab.
     4
     5	--- end ---

注意事项

省略文件名时

当在命令行上只输入cat命令时,它会从STDIN接受输入。输入一行,cat命令就会显示出一行。

$ cat
1
1
2
2
^C

提示:当输入control + c后退出接受输入的模式,同时cat在标准输出中打印^C

option n和b的组合

option n和option b都是显示行号。不同之处在于option b不会给空行显示行号。当这两个option组合使用时,只有option b生效。

$ cat -n demo.txt
     1
     2	just a test
     3	just a  test line with a tab.
     4
     5
     6
     7	--- end ---

$ cat -b demo.txt

     1	just a test
     2	just a  test line with a tab.



     3	--- end ---

$ cat -bn demo.txt

     1	just a test
     2	just a  test line with a tab.



     3	--- end ---

$ cat -nb demo.txt

     1	just a test
     2	just a  test line with a tab.



     3	--- end ---

显示过大的文件

对大型文件来说,cat命令有点繁琐。文件的文本会在显示器上一晃而过。对于大文件的阅读,推荐使用 more、less、vi和vim命令。

你可能感兴趣的:(Linux,linux,shell)