真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

linux命令過濾空行 shell過濾空格

Linux如何通過命令查看日志文件的某幾行(中間幾行或最后幾行)

【一】從第3000行開始,顯示1000行。即顯示3000~3999行

創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于成都網(wǎng)站設計、網(wǎng)站制作、玉山網(wǎng)絡推廣、微信小程序、玉山網(wǎng)絡營銷、玉山企業(yè)策劃、玉山品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)建站為所有大學生創(chuàng)業(yè)者提供玉山建站搭建服務,24小時服務熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com

cat filename | tail -n +3000 | head -n 1000

【二】顯示1000行到3000行

cat filename| head -n 3000 | tail -n +1000

*注意兩種方法的順序

分解:

tail -n 1000:顯示最后1000行

tail -n +1000:從1000行開始顯示,顯示1000行以后的

head -n 1000:顯示前面1000行

【三】用sed命令

sed -n '5,10p' filename 這樣你就可以只查看文件的第5行到第10行。

Linux統(tǒng)計文件行數(shù)

語法:wc [選項] 文件…

說明:該命令統(tǒng)計給定文件中的字節(jié)數(shù)、字數(shù)、行數(shù)。如果沒有給出文件名,則從標準輸入讀取。wc同時也給出所有指定文件的總統(tǒng)計數(shù)。字是由空格字符區(qū)分開的最大字符串。

該命令各選項含義如下:

- c 統(tǒng)計字節(jié)數(shù)。

- l 統(tǒng)計行數(shù)。

- w 統(tǒng)計字數(shù)。

這些選項可以組合使用。

輸出列的順序和數(shù)目不受選項的順序和數(shù)目的影響。

總是按下述順序顯示并且每項最多一列。

行數(shù)、字數(shù)、字節(jié)數(shù)、文件名

如果命令行中沒有文件名,則輸出中不出現(xiàn)文件名。

例如:

$ wc - lcw file1 file2

4 33 file1

7 52 file2

11 11 85 total

舉例分析:

1.統(tǒng)計demo目錄下,js文件數(shù)量:

find demo/ -name "*.js" |wc -l

2.統(tǒng)計demo目錄下所有js文件代碼行數(shù):

find demo/ -name "*.js" |xargs cat|wc -l 或 wc -l `find ./ -name "*.js"`|tail -n1

3.統(tǒng)計demo目錄下所有js文件代碼行數(shù),過濾了空行:

find /demo -name "*.js" |xargs cat|grep -v ^$|wc -l

linux去掉文件中的空行

方法一:利用grep

grep -v '^\s*$' test.txt

注:-v表示將匹配的結果進行反轉,正則表達式匹配空行。(空行可包括空格符制表符等空白字符)

方法二:利用sed

sed '/^\s*$/d' test.txt

注:d代表刪除該行

方法三:利用awk

awk NF test.txt

注:NF代表當前行的字段數(shù),空行的話字段數(shù)為0,被awk解釋為假,因此不進行輸出。

以上三種方式均可處理包含空白字符(空格符,制表符等)的空行。

方法四:若空行均由’\n'造成,則還可以利用tr命令去除空行。《Linux就該這么學》

tr -s '\n' test.txt

注:-s代表將多個連續(xù)的字符壓縮成一個字符,這里是將多個‘\n'壓縮成一個'\n',達到去除空行的效果。

方法四的缺陷:如果首行就出現(xiàn)空行的話則無法去除首行的空行

linux命令grep怎么取得空白行

那個命令本身就有問題出來的結果是0;

修改后的命令如下:

last| grep [a-zA-Z]|egrep -v? ‘wtmp’|wc -l

grep [a-zA-Z]排除空行,因為空行不包含字母

Linux查看和去除文件的空行

做Coregenome SNP分析時,有時參考基因組的pep文件有空行,總是導致分析過程中出錯,最后獲取不到coreSNP信息。遇到幾次,每次都是打開pep文件逐行查看是否有空行。這次記錄下上次的解決方案,備后續(xù)使用。還是整理成腳本,每次跑程序前過濾一遍。

此方法可以手工逐個解決空行查看和刪除空行上一行后問題。

直接提取非空行

方法三:

方法四:

Linux grep、egrep使用命令詳解

grep egrep區(qū)別

grep 默認不支持擴展 但可以通過-E 選擇來支持擴展正則

egrep 支持擴展正則

關于正則與擴展正則的區(qū)別可以看我另一篇shell 正則的介紹

文件處理順序 以行為單位,逐行進行處理

默認只輸出與表達式相匹配的文本行

基本用法

- 格式1:egrep [選擇] '正則表達式' 文件

- 格式2:前置命令 | egrep [選擇] '正則表達式'

? egrep命令工具 (擴展正則命令)

? 常用命令選項

?grep 正則表達式,用來查找過濾文檔的工具符號

grep "root" user //在user文檔中查找有單詞root的行

grep "^root" user //在user文檔中查找以單詞root開頭的行

grep "bash " user //查找空行

grep "^ " user //查找以空格開頭的行

grep "[rot]" user //查找字母r或者o或者t

grep "roo[tn]" user //查找root或者roon

grep "[^rot]" user //查找字母r或者o或者t之外的內(nèi)容

grep "[a-z]" user //查找小寫字母

grep "[A-Z]" user //查找大寫字母

grep "[a-Z]" user //查找所有字母

grep "[0-9]" user //查找數(shù)字

grep "r..t" user //查找以r開頭t結尾中間有2個任意字符的單詞

grep "r. " user //查找以r開頭后面任意字符 相當手通配符

grep "ro*" user //查找以r開頭后面有或沒有字母o的單詞,o可以出現(xiàn)任意次

grep "o{1,2}" user //查找o出現(xiàn)1次到2次的行

grep "o{2,3}" user //查找o出現(xiàn)2次到3次的行

grep "o{2}" user //查找o出現(xiàn)2次的行

grep "o{1,} " user //查找o出現(xiàn)1次以及1次以上

grep "(:0){2}" user //查找:0(數(shù)字零)連續(xù)出現(xiàn)2次的行

擴展正則

egrep "o+" user //查找o出現(xiàn)1次以及1次以上

egrep "o?" user //查找o出現(xiàn)0次或1次

egrep "o{1,2}" user //查找o出現(xiàn)1次到2次的行

egrep "o{2,3}" user //查找o出現(xiàn)2次到3次的行

egrep "o{2}" user //查找o出現(xiàn)2次的行

egrep "o{1,}" user //查找o出現(xiàn)1次以及1次以上

egrep "(:0){2}" user //查找:0(數(shù)字零)連續(xù)出現(xiàn)2次的行

egrep "bash|nologin" user //查找bash或者nologin

egrep "\bthe\b" a //查找單詞the,前后是空格或者特殊符號

案例:

正則表達式匹配練習

1)典型的應用場合:grep、egrep檢索文本行

grep命令不帶-E選項時,支持基本正則匹配模式。比如“word”關鍵詞檢索、“^word”匹配以word開頭的行、“word$”匹配以word結尾的行……等等。

輸出以“r”開頭的用戶記錄:

輸出以“l(fā)ocalhost”結尾的行:

若希望在grep檢索式同時組合多個條件,比如輸出以“root”或者以“daemon”開頭的行:

而若若使用grep -E或egrep命令,可支持擴展正則匹配模式,能夠自動識別 |、{} 等擴展正則表達式中的特殊字符,用起來更加方便,比如:

或者

使用grep -E 與 使用egrep命令完全等效,推薦使用后者,特別是涉及到復雜的正則表達式的時候。

2)grep、egrep命令的-q選項

選項 -q 表示 quiet(靜默)的意思,結合此選項可以只做檢索而并不輸出,通常在腳本內(nèi)用來識別查找的目標是否存在,通過返回狀態(tài) $? 來判斷,這樣可以忽略無關的文本信息,簡化腳本輸出。

比如,檢查/etc/hosts文件內(nèi)是否存在192.168.4.4的映射記錄,如果存在則顯示“YES”,否則輸出“NO”,一般會執(zhí)行:

這樣grep的輸出信息和腳本判斷后的提示混雜在一起,用戶不易辨別,所以可以改成以下操作:

是不是清爽多了,從上述結果也可以看到,使用 -q 選項的效果與使用 /dev/null的效果類似。

3)基本元字符 ^、$ —— 匹配行首、行尾

輸出注釋的配置行(以#開頭的行):

統(tǒng)計本地用戶中登錄Shell為“/sbin/nologin”的用戶個數(shù):

提示: -m10僅在文件的前10行中過濾,后面的行不再過濾。

結合 -c 選項輸出匹配的行數(shù)

使用 -c 選項可輸出匹配行數(shù),這與通過管道再 wc -l的效果是相同的,但是寫法更簡便。比如,統(tǒng)計使用“/bin/bash”作為登錄Shell的正常用戶個數(shù),可執(zhí)行:

或者

4)基本元字符 . —— 匹配任意單個字符

以/etc/rc.local文件為例,確認文本內(nèi)容:

輸出/etc/rc.local文件內(nèi)的空行(用 –v 選項將條件取反):

5)基本元字符 +、?、 —— 目標出現(xiàn)的次數(shù)*

還以/etc/rc.local文件為例:

輸出包括 f、ff、ff、……的行,即“f”至少出現(xiàn)一次:

輸出包括init、initial的行,即末尾的“ial”最多出現(xiàn)一次(可能沒有):

輸出包括stu、stuf、stuff、stufff、……的行,即末尾的“f”可出現(xiàn)任意多次,也可以沒有。重復目標只有一個字符時,可以不使用括號:

輸出所有行,單獨的“.*”可匹配任意行(包括空行):

輸出/etc/passwd文件內(nèi)“r”開頭且以“nologin”結尾的用戶記錄,即中間可以是任意字符:

6)元字符 {} —— 限定出現(xiàn)的次數(shù)范圍

創(chuàng)建一個練習用的測試文件:

輸出包括ababab的行,即“ab”連續(xù)出現(xiàn)3次:

輸出包括abab、ababab、abababab的行,即“ab”連續(xù)出現(xiàn)2~4次:

輸出包括ababab、abababab、……的行,即“ab”最少連續(xù)出現(xiàn)3次:

7)元字符 [] —— 匹配范圍內(nèi)的單個字符

還以前面的測試文件bracet.txt為例:

輸出包括abc、abd的行,即前兩個字符為“ab”,第三個字符只要是c、d中的一個就符合條件:

輸出包括大寫字母的行,使用[A-Z]匹配連續(xù)范圍:

8)單詞邊界匹配

以文件/etc/rc.local為例:

輸出包括單詞“init”的行,文件中“initialization”不合要求:

或者:

輸出包括以“l(fā)l”結尾的單詞的行,使用 匹配單詞右邊界:

或者:

9)多個條件的組合

通過dmesg啟動日志查看藍牙設備、網(wǎng)卡設備相關的信息:

linux怎樣用grep過濾

不知道你是想實現(xiàn)什么目的,如果你是想只顯示配置文件中的以 # 號開頭的行,那就使用

# grep ^# filename

如果是想顯示除 # 號開頭的行的話呢,只需加個參數(shù)-v (-v 表示相反的過濾)就行了

# grep -v ^# filename


網(wǎng)站欄目:linux命令過濾空行 shell過濾空格
網(wǎng)站鏈接:http://weahome.cn/article/hphhoh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部