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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM