Linux中查看文本的小技巧(超實用?。?/h1>
更新時間:2019年08月12日 10:44:36 作者:Java知音*
這篇文章主要給大家介紹了關(guān)于Linux中查看文本的小技巧,這些小技巧非常的實用,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用linux系統(tǒng)具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
前言
日常開發(fā)中,我們經(jīng)常需要在服務(wù)器上進(jìn)行各種文本,日志的查看操作,本文主要對常用的文本,日志查看技巧進(jìn)行了一番總結(jié)和歸納,方便大家收藏起來后續(xù)查看使用:
tail命令查看日志信息
實時監(jiān)控日志:
tail -f filename
實時監(jiān)控10行日志信息:
tail -10f filename
查看日志尾部的最后100行日志信息:
tail -n 100 filename
查看日志100行之后的日志信息:
tail -n +100 filename
head命令查看文本信息
查看文本開始的頭100行信息:
head -n 100 filename
查看文本最后100行信息以上的內(nèi)容
head -n -100 filename
cat命令查看文本信息
查看全部文本內(nèi)容
cat filename
查看文本的中間某些行范圍之間的內(nèi)容,例如說查看文本文件100-120行之間的內(nèi)容:
cat -n filename |tail -n +100|head -n 20
不過使用個人不是太喜歡使用這種命令來進(jìn)行文本的定位查看,因為查看起來過于麻煩,文章下邊會有更加簡便的命令操作。
tac查看文本信息
和cat命令有點相反,cat命令更多的是從頭部往尾部的順序展現(xiàn)文本內(nèi)容,而tac命令正好是從文本的尾部往頭部展現(xiàn)日志內(nèi)容
tac filename
例如說,我們通過cat命令和tac命令同時來查看一段相同的內(nèi)容:

通過不同命令來展示文本,會發(fā)現(xiàn)文本的內(nèi)容順序有所相反。
搜索文本內(nèi)容
grep是一種強大的文本搜索工具,它能使用正則表達(dá)式搜索文本,并把匹配的行打印出來。
grep命令的常用方式:
在多個文件中查找:
grep "match_pattern" file_1 file_2 file_3 ...
標(biāo)記匹配顏色 --color=auto 選項:
grep "match_pattern" file_name --color=auto
//【這里的color項可以根據(jù)文檔說明進(jìn)行選擇always,never,auto三種】
輸出除之外的所有行 -v 選項:
grep -v "match_pattern" file_name
使用正則表達(dá)式 -E 選項:
grep -E "[1-9]+"
只輸出匹配到的內(nèi)容選項:
grep -o -E "[a-z]+." line
統(tǒng)計文件或者文本中包含匹配字符串的行數(shù) -c 選項:
grep -c "text" file_name
輸出包含匹配字符串的行數(shù) -n 選項:
grep "text" -n file_name
在了解了grep命令能完成的功能點之后,我們可以在實際工作中靈活運用。
有些時候我們也會遇到一些希望查看某個時間段日志信息的需要,這個時候可以利用grep這條命令來實現(xiàn)這個功能,例如說希望查看2019-08-06 22點這一個小時以內(nèi)的日志信息,那么可以輸入以下命令:
grep '2019-08-06 22' filename

這樣可以快速定位到你所希望查看的信息范圍。
由于grep命令是可以接收standard input的數(shù)據(jù),因此我們通??梢越柚艿烂罘?| ”的幫助,在一些標(biāo)準(zhǔn)輸出進(jìn)行中進(jìn)行查找操作。
例如說,先將文件的內(nèi)容讀取出來,然后借助管道的幫助將內(nèi)容轉(zhuǎn)發(fā)給grep來進(jìn)行內(nèi)容過濾,如下邊的這段命令:
cat log.file |grep -n '2019-08-06 22:43'

除了使用grep命令之外,也可以使用sed命令來實現(xiàn)相應(yīng)的效果。
sed是一種非交互式的編輯器,sed會逐行處理文件(或輸入),并將結(jié)果發(fā)送到屏幕。
可能對于新手來說,講概念還不如直接來幾個實操案例更為直接。
sed命令的常用方式:
只打印文件的第一行內(nèi)容
sed -n '1p' filename
查看文件的第一行到第十行之間的內(nèi)容
sed -n '1,10p' filename
刪除第一行文本信息
sed '1d' filename
將文本里面的某些字符串進(jìn)行替換
sed 's/希望替換的內(nèi)容/被替換的內(nèi)容/g'
例如:sed 's/1/one /g' filename 將1替換為one
在了解了sed命令的一些基礎(chǔ)用法之后,我們可以在實際的工作場景中多次運用,從而強化自己對于sed命令的理解。
例如說,通過sed命令來進(jìn)行日期范圍的指定,例如說查看2019-08-06 22:43-22:44之間的日志記錄:
sed -n '/2019-08-06 22:43/,/2019-08-06 22:44/p' filename

上邊有說到使用head和tail命令一起來實現(xiàn)對于日志文件的某段內(nèi)容查看,但是這樣的操作實在是有點麻煩,不妨可以嘗試使用sed命令來進(jìn)行操作。
例如說,查看日志的第1-20行內(nèi)容:
nl log.file | sed -n '1,10p'

利用more命令進(jìn)行翻頁查看
如果說希望查看的日志文件過大,那么可以通過使用more命令來進(jìn)行分頁查找,例如說設(shè)定每一頁展示10條數(shù)據(jù)信息:
more -10 filename

通過使用more命令可以查看到每一頁展示的數(shù)據(jù),同時通過敲空格鍵會進(jìn)行下一頁的跳轉(zhuǎn)。同時在窗口中也會顯示當(dāng)前所閱讀的文本內(nèi)容的基礎(chǔ)進(jìn)度。
說了那么多,我們不妨進(jìn)行一些模擬的操作場景吧:
查看日志最后一次出現(xiàn)關(guān)鍵字'test'的日志記錄
grep 'test' -A 10 log.file | tail -n 11
這里需要了解到grep命令的幾個參數(shù)含義:
- grep ‘name' -A 10 顯示匹配內(nèi)容和后面的10行
- grep ‘name' -B 10 顯示匹配內(nèi)容和前面的10行
- grep ‘name' -C 10 顯示匹配內(nèi)容和前后面的10行
tail -n 11命令則是將當(dāng)前顯示的10行內(nèi)容以及匹配的那一行內(nèi)容展示出現(xiàn)
簡單統(tǒng)計一份日志里面出現(xiàn)‘test'關(guān)鍵字的行數(shù)
相應(yīng)命令:
grep 'test' ./log.file |wc -l
這里我們可以先將文本的內(nèi)容進(jìn)行輸出到標(biāo)準(zhǔn)輸出中,然后借助管道將數(shù)據(jù)信息傳給wc命令進(jìn)行統(tǒng)計。
wc命令常用的幾個參數(shù)
-l 匹配的行數(shù)
-w 匹配的字?jǐn)?shù)
-m 匹配的字符數(shù)目
linux里面對于文本信息的查看技巧實在是有太多了,遠(yuǎn)遠(yuǎn)不局限于我在文中所提及的這些,因此在實際的工作中我們還可以多多將有助于自己提升工作效率的技巧進(jìn)行歸納和總結(jié)。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。
您可能感興趣的文章:- 一天一個shell命令 linux文本內(nèi)容操作系列-awk命令詳解
- 一天一個shell命令 linux文本內(nèi)容操作系列-cut命令詳解
- 使用Linux正則表達(dá)式靈活搜索文件中的文本
- 一天一個shell命令 linux文本操作系列-touch命令用法
- 一天一個shell命令 linux文本操作系列-head,tail命令詳解
- 一天一個shell命令 linux文本操作系列-diff命令詳解
- 一天一個shell命令 linux文本內(nèi)容操作系列-grep命令詳解
- Linux使用文本編輯器vi常用命令
- 詳解Linux文本文件與WIN文本文件換行格式轉(zhuǎn)換命令
- 一天一個shell命令 linux文本操作系列-wc命令詳解
相關(guān)文章
-
淺談ubuntu執(zhí)行.sh文件幾種方式區(qū)別
這篇文章主要介紹了淺談ubuntu執(zhí)行.sh文件幾種方式區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧 2019-09-09
-
關(guān)于如何在崩潰或重啟后保持Linux進(jìn)程運行的解決方法
在計算機系統(tǒng)中,進(jìn)程的穩(wěn)定性和持久性對于確保系統(tǒng)正常運行至關(guān)重要,在 Linux 系統(tǒng)中,由于各種原因,進(jìn)程可能會面臨崩潰或系統(tǒng)重啟的情況,為了確保關(guān)鍵進(jìn)程的持續(xù)運行,我們需要采取一些措施來處理這種情況,文中給大家介紹的非常詳細(xì),需要的朋友可以參考下 2024-01-01
-
Ubuntu 16.04安裝Apache Tomcat的方法
Apache Tomcat是Java Servlet和Java Server Pages技術(shù)的開源軟件實現(xiàn)。可以使用OpenJDK tomcat運行你的Java應(yīng)用。Apache Tomcat安裝方法大家都不是很清楚,下面小編給大家介紹下Ubuntu 16.04安裝Apache Tomcat的方法 2016-10-10
-
CentOS 6.4安裝配置LNMP服務(wù)器(Nginx+PHP+MySQL)
這篇文章主要介紹了CentOS 6.4下配置LNMP服務(wù)器的詳細(xì)步驟,需要的朋友可以參考下 2013-06-06
-
Linux gzip命令壓縮文件實現(xiàn)原理及代碼實例
這篇文章主要介紹了Linux gzip命令壓縮文件實現(xiàn)原理及代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下 2020-08-08
-
Linux中無法遠(yuǎn)程連接數(shù)據(jù)庫問題的解決方法
這篇文章主要給大家介紹了關(guān)于Linux中無法遠(yuǎn)程連接數(shù)據(jù)庫問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。 2018-04-04
-
Linux下安裝Oracle(CentOS-Oracle 12c)的方法
這篇文章主要介紹了Linux下安裝Oracle(CentOS-Oracle 12c)的方法,本文實例講解,介紹的非常詳細(xì),具有參考借鑒價值,感興趣的朋友一起看看吧 2016-11-11
-
Linux實現(xiàn)301重定向和偽靜態(tài)方法
本篇文章給大家整理了在Linux實現(xiàn)301重定向和偽靜態(tài)方法以及注意事項,對此有需要的朋友可以參考學(xué)習(xí)下。 2018-04-04
最新評論
前言
日常開發(fā)中,我們經(jīng)常需要在服務(wù)器上進(jìn)行各種文本,日志的查看操作,本文主要對常用的文本,日志查看技巧進(jìn)行了一番總結(jié)和歸納,方便大家收藏起來后續(xù)查看使用:
tail命令查看日志信息
實時監(jiān)控日志:
tail -f filename
實時監(jiān)控10行日志信息:
tail -10f filename
查看日志尾部的最后100行日志信息:
tail -n 100 filename
查看日志100行之后的日志信息:
tail -n +100 filename
head命令查看文本信息
查看文本開始的頭100行信息:
head -n 100 filename
查看文本最后100行信息以上的內(nèi)容
head -n -100 filename
cat命令查看文本信息
查看全部文本內(nèi)容
cat filename
查看文本的中間某些行范圍之間的內(nèi)容,例如說查看文本文件100-120行之間的內(nèi)容:
cat -n filename |tail -n +100|head -n 20
不過使用個人不是太喜歡使用這種命令來進(jìn)行文本的定位查看,因為查看起來過于麻煩,文章下邊會有更加簡便的命令操作。
tac查看文本信息
和cat命令有點相反,cat命令更多的是從頭部往尾部的順序展現(xiàn)文本內(nèi)容,而tac命令正好是從文本的尾部往頭部展現(xiàn)日志內(nèi)容
tac filename
例如說,我們通過cat命令和tac命令同時來查看一段相同的內(nèi)容:
通過不同命令來展示文本,會發(fā)現(xiàn)文本的內(nèi)容順序有所相反。
搜索文本內(nèi)容
grep是一種強大的文本搜索工具,它能使用正則表達(dá)式搜索文本,并把匹配的行打印出來。
grep命令的常用方式:
在多個文件中查找:
grep "match_pattern" file_1 file_2 file_3 ...
標(biāo)記匹配顏色 --color=auto 選項:
grep "match_pattern" file_name --color=auto //【這里的color項可以根據(jù)文檔說明進(jìn)行選擇always,never,auto三種】
輸出除之外的所有行 -v 選項:
grep -v "match_pattern" file_name
使用正則表達(dá)式 -E 選項:
grep -E "[1-9]+"
只輸出匹配到的內(nèi)容選項:
grep -o -E "[a-z]+." line
統(tǒng)計文件或者文本中包含匹配字符串的行數(shù) -c 選項:
grep -c "text" file_name
輸出包含匹配字符串的行數(shù) -n 選項:
grep "text" -n file_name
在了解了grep命令能完成的功能點之后,我們可以在實際工作中靈活運用。
有些時候我們也會遇到一些希望查看某個時間段日志信息的需要,這個時候可以利用grep這條命令來實現(xiàn)這個功能,例如說希望查看2019-08-06 22點這一個小時以內(nèi)的日志信息,那么可以輸入以下命令:
grep '2019-08-06 22' filename
這樣可以快速定位到你所希望查看的信息范圍。
由于grep命令是可以接收standard input的數(shù)據(jù),因此我們通??梢越柚艿烂罘?| ”的幫助,在一些標(biāo)準(zhǔn)輸出進(jìn)行中進(jìn)行查找操作。
例如說,先將文件的內(nèi)容讀取出來,然后借助管道的幫助將內(nèi)容轉(zhuǎn)發(fā)給grep來進(jìn)行內(nèi)容過濾,如下邊的這段命令:
cat log.file |grep -n '2019-08-06 22:43'
除了使用grep命令之外,也可以使用sed命令來實現(xiàn)相應(yīng)的效果。
sed是一種非交互式的編輯器,sed會逐行處理文件(或輸入),并將結(jié)果發(fā)送到屏幕。
可能對于新手來說,講概念還不如直接來幾個實操案例更為直接。
sed命令的常用方式:
只打印文件的第一行內(nèi)容
sed -n '1p' filename
查看文件的第一行到第十行之間的內(nèi)容
sed -n '1,10p' filename
刪除第一行文本信息
sed '1d' filename
將文本里面的某些字符串進(jìn)行替換
sed 's/希望替換的內(nèi)容/被替換的內(nèi)容/g' 例如:sed 's/1/one /g' filename 將1替換為one
在了解了sed命令的一些基礎(chǔ)用法之后,我們可以在實際的工作場景中多次運用,從而強化自己對于sed命令的理解。
例如說,通過sed命令來進(jìn)行日期范圍的指定,例如說查看2019-08-06 22:43-22:44之間的日志記錄:
sed -n '/2019-08-06 22:43/,/2019-08-06 22:44/p' filename
上邊有說到使用head和tail命令一起來實現(xiàn)對于日志文件的某段內(nèi)容查看,但是這樣的操作實在是有點麻煩,不妨可以嘗試使用sed命令來進(jìn)行操作。
例如說,查看日志的第1-20行內(nèi)容:
nl log.file | sed -n '1,10p'
利用more命令進(jìn)行翻頁查看
如果說希望查看的日志文件過大,那么可以通過使用more命令來進(jìn)行分頁查找,例如說設(shè)定每一頁展示10條數(shù)據(jù)信息:
more -10 filename
通過使用more命令可以查看到每一頁展示的數(shù)據(jù),同時通過敲空格鍵會進(jìn)行下一頁的跳轉(zhuǎn)。同時在窗口中也會顯示當(dāng)前所閱讀的文本內(nèi)容的基礎(chǔ)進(jìn)度。
說了那么多,我們不妨進(jìn)行一些模擬的操作場景吧:
查看日志最后一次出現(xiàn)關(guān)鍵字'test'的日志記錄
grep 'test' -A 10 log.file | tail -n 11
這里需要了解到grep命令的幾個參數(shù)含義:
- grep ‘name' -A 10 顯示匹配內(nèi)容和后面的10行
- grep ‘name' -B 10 顯示匹配內(nèi)容和前面的10行
- grep ‘name' -C 10 顯示匹配內(nèi)容和前后面的10行
tail -n 11命令則是將當(dāng)前顯示的10行內(nèi)容以及匹配的那一行內(nèi)容展示出現(xiàn)
簡單統(tǒng)計一份日志里面出現(xiàn)‘test'關(guān)鍵字的行數(shù)
相應(yīng)命令:
grep 'test' ./log.file |wc -l
這里我們可以先將文本的內(nèi)容進(jìn)行輸出到標(biāo)準(zhǔn)輸出中,然后借助管道將數(shù)據(jù)信息傳給wc命令進(jìn)行統(tǒng)計。
wc命令常用的幾個參數(shù)
-l 匹配的行數(shù)
-w 匹配的字?jǐn)?shù)
-m 匹配的字符數(shù)目
linux里面對于文本信息的查看技巧實在是有太多了,遠(yuǎn)遠(yuǎn)不局限于我在文中所提及的這些,因此在實際的工作中我們還可以多多將有助于自己提升工作效率的技巧進(jìn)行歸納和總結(jié)。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。
- 一天一個shell命令 linux文本內(nèi)容操作系列-awk命令詳解
- 一天一個shell命令 linux文本內(nèi)容操作系列-cut命令詳解
- 使用Linux正則表達(dá)式靈活搜索文件中的文本
- 一天一個shell命令 linux文本操作系列-touch命令用法
- 一天一個shell命令 linux文本操作系列-head,tail命令詳解
- 一天一個shell命令 linux文本操作系列-diff命令詳解
- 一天一個shell命令 linux文本內(nèi)容操作系列-grep命令詳解
- Linux使用文本編輯器vi常用命令
- 詳解Linux文本文件與WIN文本文件換行格式轉(zhuǎn)換命令
- 一天一個shell命令 linux文本操作系列-wc命令詳解
相關(guān)文章
淺談ubuntu執(zhí)行.sh文件幾種方式區(qū)別
這篇文章主要介紹了淺談ubuntu執(zhí)行.sh文件幾種方式區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09關(guān)于如何在崩潰或重啟后保持Linux進(jìn)程運行的解決方法
在計算機系統(tǒng)中,進(jìn)程的穩(wěn)定性和持久性對于確保系統(tǒng)正常運行至關(guān)重要,在 Linux 系統(tǒng)中,由于各種原因,進(jìn)程可能會面臨崩潰或系統(tǒng)重啟的情況,為了確保關(guān)鍵進(jìn)程的持續(xù)運行,我們需要采取一些措施來處理這種情況,文中給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01Ubuntu 16.04安裝Apache Tomcat的方法
Apache Tomcat是Java Servlet和Java Server Pages技術(shù)的開源軟件實現(xiàn)。可以使用OpenJDK tomcat運行你的Java應(yīng)用。Apache Tomcat安裝方法大家都不是很清楚,下面小編給大家介紹下Ubuntu 16.04安裝Apache Tomcat的方法2016-10-10CentOS 6.4安裝配置LNMP服務(wù)器(Nginx+PHP+MySQL)
這篇文章主要介紹了CentOS 6.4下配置LNMP服務(wù)器的詳細(xì)步驟,需要的朋友可以參考下2013-06-06Linux gzip命令壓縮文件實現(xiàn)原理及代碼實例
這篇文章主要介紹了Linux gzip命令壓縮文件實現(xiàn)原理及代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08Linux中無法遠(yuǎn)程連接數(shù)據(jù)庫問題的解決方法
這篇文章主要給大家介紹了關(guān)于Linux中無法遠(yuǎn)程連接數(shù)據(jù)庫問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-04-04Linux下安裝Oracle(CentOS-Oracle 12c)的方法
這篇文章主要介紹了Linux下安裝Oracle(CentOS-Oracle 12c)的方法,本文實例講解,介紹的非常詳細(xì),具有參考借鑒價值,感興趣的朋友一起看看吧2016-11-11Linux實現(xiàn)301重定向和偽靜態(tài)方法
本篇文章給大家整理了在Linux實現(xiàn)301重定向和偽靜態(tài)方法以及注意事項,對此有需要的朋友可以參考學(xué)習(xí)下。2018-04-04