Linux 查看文件内容(8)

我们知道在图形界面上查看文件内容只需要双击打开就好,那么在终端窗口里怎么查看文件内容呢?显然是需要能有一个命令能把文件内容显示在终端界面上。

查看文件内容主要有两个命令,分别是 cat 和 more,还有一个 grep命令可以查找文件对应内容。慢慢介绍。

cat

cat 命令可以用来 查看文件内容、创建文件、文件合并、追加文件内容 等功能。本篇主要介绍查看文件内容。

它的特点是会一次显示所有内容,适合查看内容较少 的文本文件。

可以在目录里准备两个文本文件,一个内容多点,一个内容较少点,分别为 demo1.txt 和 demo2.txt。使用 cat命令分别查看:

cat demo1.txt

cat demo2.txt

为了看到效果,我把终端窗口调得较小,太大的窗口看不到区别:

 

可以看到,不管内容多长,cat 命令总是把所有内容都显示出来,当内容超过窗口时会自动到下一屏。你可能会奇怪我为什么要强调这一点,只要能看到内容就好了啊。说这个其实是因为另一个命令 more 跟它有所区别,下面会介绍。

在这之前,我们先看看 cat 的两个选项:

  • -b:对非空输出行编号
  • -n:对输出的所有行编号

其实就是在每一行输出内容前面加上编号,-b 是只对非空的行加编号,而-n 对所有的行都加编号。

说到这,我又悲剧了,我的Linux环境不管哪个选项都是对所有行编号

 

建议大家还是在自己的电脑上装个虚拟机环境试试,比如Ubuntu。

 

more

more命令的区别在于,当文件超过窗口时,会分屏显示文件,说不如做,分别测试demo1.txt 和 demo2.txt文件:

more demo1.txt

more demo2.txt

 

可以很明显的看到区别,当文件内容较少时,与cat效果没区别,当文件内容较多时,会显示一个提示信息,给出至今己显示的该文件的百分比:--More--(XX%),此时可以根据以下不同操作做出回应:

操作键功能
空格键 显示文本下一屏内容
Enter 一次滚动文本的一行
b 回滚一屏
f 前滚一屏
q 退出
/word 搜索word字符串(word可替换)

可自行尝试。

 

grep

Linux系统中grep命令是一种强大的文本搜索工具,使用格式:

grep 查找的目标字符 文件名

现在目录下有一 test.txt文件,看下它的内容:

cat test.txt

//结果
hello world  

this is test

hello linux

this is test

asdhsadyuscbjna

在这个文件里搜索 hello:

grep hello test.txt

//结果
hello world  
hello linux

可以看到,搜索结果会把包含所搜字符的整个行都输出来,注意,如果想要搜索多个单词,应该加上引号:

grep 'hello world' test.txt

 

选项

grep的选项也很多,这里只介绍三个:

  • -n:显示匹配行及行号
  • -v:显示不包含匹配文本的所有行(相当于求反)
  • -i:忽略大小写

加上 -n:

grep -n hello test.txt

//结果
2:hello world  
6:hello linux

可以看到每行前面都加上了它们所在的行号。

 

-v 命令相当于对查找结果的求反:

grep -v hello test.txt

//结果


this is test


this is test

asdhsadyuscbjnas

可以看到,它将不包含 hello 的行都输出来了,此时也可以加上行号的:

grep -vn hello test.txt

//结果
1:
3:
4:this is test
5:
7:
8:this is test
9:
10:asdhsadyuscbjnas

 

-i 忽略大小写就不用多说了:

grep -i Hello test.txt

//结果
hello world  
hello linux

 

再啰嗦一句,Linux命令选项是可以连用的,你可以这样:

grep -nvi Hello test.txt

 

模式查找

所谓模式查找,就是正则表达式查找,grep支持正则模式查找,这里就简单说两个例子:

  • ^a:行首,查找以 a开头的行
  • b$:行尾,查找以 b结束的行
grep ^h test.txt

//结果
hello world  
hello linux

 

posted @ 2018-04-27 16:56  黑色瓶子  阅读(11234)  评论(0编辑  收藏  举报