来源:网络技术联盟站
链接:https://www.wljslmz.cn/20133.html
作为经常使用Linux的朋友,相信对cat命令不陌生,主要用于显示文件的内容,cat提供了许多其他小而有用的功能,本文将给大家介绍一下cat命令使用。
在开始之前,我们先来看下cat的手册页显示的内容:
man cat
1.查看文件内容
语法:
$ cat [filename]
例如:
cat wljlsmz-cat-test
输出:
2.查看多个文件内容
有时候查看的文件不止一个,那么可以使用一行命令去查看,只需要将文件名拼接在cat后即可:
$ cat [filename] [filename]
例如:
cat wljlsmz-cat-test1 wljlsmz-cat-test2
输出:
3.显示文件内容并显示行号
有时候在查看文件内容的时候,由于文件内容比较长,需要结合行号的,可以使用-n
参数:
cat -n wljlsmz-cat-test
例如:
cat -n wljlsmz-cat-test
输出:
4.创建文件并且写入内容
一般来说,创建一个文件,并且填充一些信息,都是先通过touch命令创建一个空文件,然后使用vim命令输入相关内容,这些操作可以用cat命令一次性完成,cat命令支持创建文件并且写入内容:
$ cat > [filename]
例如:
cat > wljlsmz-cat-test
运行时,该命令要求您在终端上输入信息,完成后,按 CTRL+d 终止并保存。
CTRL+d后我们验证一下有没有创建完成:
5.文件间内容复制
文件间内容的复制也是出场率比较多的场景,使用cat命令也可以实现:
$ cat [要复制其内容的文件名] > [目标文件名]
例如:
cat hello > wljslmz
先来解释一下截图中操作步骤:
-
创建hello、wljslmz文件,hello文件中的内容为hello,wljslmz的内容为wljslmz -
查看hello、wljslmz文件 -
将hello文件复制到wljslmz文件 -
查看wljslmz文件内容
最后可以看出hello文件的内容确实复制到了wljslmz文件。
可以看到 > 的效果是覆盖,想要不覆盖,可以使用>>:
效果就显而易见了。
6.突出行尾
突出行尾在日常工作中也是常用的,比如某个配置文件一行一行很长,需要突出每一行的行尾,这个时候能够再cat的时候突出行尾的话就非常棒了。
那么我们可以结合-E
参数,这样在cat的时候就会自动在每个行尾加上美元符号$来区分。
$ cat -E [文件名]
例如:
cat -E wljslmz
输出:
7.去除重复空行
如果一个文件空白行比较多,但是内容干货比较少的情况,我们在cat的时候其实是不想关心这些空行,如果能够有办法去除这些重复的空白行就好了,那么参数-s
就可以实现。
$ cat -s [文件名]
例如:
cat -s wljslmz
输出:
解释一下上述截图的步骤:
-
使用cat命令创建了wljslmz文件,写入的内容中包含了重复的空行 -
使用 cat -s
命令查看 -
直接使用 cat
命令查看
可以显而易见的看出结合-s
选项,重复的空行被去除了。
8.仅在非空行上显示行号
在上面我们介绍了使用-n
参数打印行号,又介绍了使用-s
可以去除重复的空行,那么对于重复空行的文件,怎么仅显示非空行的行号呢?
答案是结合-b
和-T
参数:
cat -b -T [文件名]
例如:
cat -b -T wljslmz
输出:
总结
本文给大家主要介绍了cat命令的常规使用,主要有:
-
查看文件内容 -
查看多个文件内容 -
显示文件内容并显示行号 -
创建文件并且写入内容 -
文件间内容复制 -
突出行尾 -
去除重复空行 -
仅在非空行上显示行号
最后感谢您的阅读,如果本文对您有所帮助,可以收藏并转发给您的朋友,有任何问题欢迎在下方评论区与我讨论!
原创文章,作者:网络技术联盟站,如若转载,请注明出处:https://www.sudun.com/ask/34692.html