導航:首頁 > 凈水問答 > shellgrep過濾的是行

shellgrep過濾的是行

發布時間:2021-01-15 02:26:58

⑴ 幾種在shell命令行中過濾adb logcat輸出的方法

1. 只顯示需要的輸出,白名單
最方便的當然是通過管道使用 grep 過濾了,這樣可以使用 grep 強大的正則表達式匹配。簡單的匹配一行當中的某個字元串,例如 MyApp:
adb logcat | grep MyApp
adb logcat | grep -i myapp #忽略大小寫。
adb logcat | grep --color=auto -i myapp #設置匹配字元串顏色。更多設置請查看 grep 幫助。

進階一點可以使用 grep 的正則表達式匹配。例如上一個例子會匹配一行中任意位置的 MyApp,可以設置為僅匹配 tag。默認的 log 輸出如下,如果修改過輸出格式相應的表達式也要修改。
I/CacheService( 665): Preparing DiskCache for all thumbnails.

可以看出 tag 是一行開頭的第三個字元開始,根據這點寫出表達式:
adb logcat | grep "^..MyApp"

根據這個格式也可以設置只顯示某個優先順序的 log,再匹配行首第一個字元即可。例如僅顯示 Error 級別 tag 為 MyApp 的輸出:
adb logcat | grep "^E.MyApp"

當然也可以匹配多個,使用 | 分割多個匹配表達式,要加轉義符。例如要匹配 tag 為 MyApp 和 MyActivity 的輸出:
adb logcat | grep "^..MyApp\|^..MyActivity"
adb logcat | grep -E "^..MyApp|^..MyActivity" #使用 egrep 無須轉義符

2. 過濾不需要的輸出,黑名單
還是使用 grep,用法也跟上面的一樣,加一個 -v 即可。例如要過濾 tag 為 MyApp 和 MyActivity 的輸出:
adb logcat | grep -v "^..MyApp\|^..MyActivity"
adb logcat | grep -vE "^..MyApp|^..MyActivity" #使用 egrep 無須轉義符

3. 顯示同一個進程的所有輸出
有時一個程序裡面的 tag 有多個,需要輸出該程序(同一個 PID)的所有 tag;僅使用 tag 過濾有時也會漏掉一些錯誤信息,而一般錯誤信息也是和程序同一個 PID。還是通過 grep 實現,思路是先根據包名找到 pid 號,然後匹配 pid。寫成 shell 腳本如下,參數是程序的 java 包名(如 com.android.media)。
查看源代碼列印幫助
1 #!/bin/bash
2 packageName=$1
3 pid=`adb shell ps | grep $packageName | awk '{print $2}'`
4 adb logcat | grep --color=auto $pid
4. 從當前開始顯示
logcat 有緩存,如果僅需要查看當前開始的 log,需要清空之前的。
adb logcat -c && adb logcat

5. 過濾 log 文件
有時需要分析 log 文件,過濾 log 文件還是使用 grep。例如 log 文件為 myapp.log,要匹配 tag 為 MyApp 和 MyActivity 的輸出,然後輸出到 newmyapp.log:
cat myapp.log | grep "^..MyApp\|^..MyActivity" > newmyapp.log

Windows 下推薦使用 Notepad++,一個免費強大的記事本,支持正則表達式查找替換。可以高亮顯示匹配內容,也可以刪除不需要的內容。
以上的技巧主要用到了 grep,其實 logcat 本身也有過濾功能,可以根據 tag、優先順序過濾 log,具體請參考 Android 官方文檔 Reading and Writing Logs。如果喜歡使用圖形界面,請參考 Using DDMS,DDMS 裡面的 logcat 也可以同樣過濾。

⑵ shell grep 匹配行首為空格的問題

grep -E '^CFLAGS' 文件名
PS:你標題說行首是空格,下面的不是啊?你的意思只是匹配例子中第一行,不匹配第二行?上面這樣就對了。

⑶ 如何使用grep篩選出含有A或者B字元的行

me@ubuntu:grep$cattest.txt
aa123
AA123
AABB123
BB123
me@ubuntu:grep$grep-e'AA'-e'BB'./test.txt
AA123
AABB123
BB123

⑷ 在linux系統如何grep過濾中,不包含某些字元

1、linux系統中grep命令是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行列印出來。grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用許可權是所有用戶。
2、格式
grep[options]
3、主要參數
[options]主要參數:
-c:只輸出匹配行的計數。
-I:不區分大小寫(只適用於單字元)。
-h:查詢多文件時不顯示文件名。
-l:查詢多文件時只輸出包含匹配字元的文件名。
-n:顯示匹配行及行號。
-s:不顯示不存在或無匹配文本的錯誤信息。
-v:顯示不包含匹配文本的所有行。
pattern正則表達式主要參數:
\:忽略正則表達式中特殊字元的原有含義。
^:匹配正則表達式的開始行。
$: 匹配正則表達式的結束行。
\<:從匹配正則表達式的行開始。
\>:到匹配正則表達式的行結束。
[ ]:單個字元,如[A]即A符合要求。
[ - ]:范圍,如[A-Z],即A、B、C一直到Z都符合要求。
。:所有的單個字元。
* :有字元,長度可以為0。
4、grep命令使用簡單實例:
$ grep 『test』d*
顯示所有以d開頭的文件中包含test的行。
$ grep 『test』aa bb cc
顯示在aa,bb,cc文件中匹配test的行。
$ grep『[a-z]\{5\}』 aa
顯示所有包含每個字元串至少有5個連續小寫字元的字元串的行。

⑸ linux下怎麼用grep指令找有字元串結尾的行

1、首先來在打開的linux終端源下,可以使用grep --help查看,如下圖所示。

⑹ shell 如何在grep後只取一部分

這個好說,可以繼續加管道符,然後用cut 命令截取對應的欄位,cut命令可以按回位置截取,也可以按分隔符截答取第幾個欄位。
例如cut -f ' ' 3
表示以空格為分隔符,取第三個欄位

⑺ shell grep 的結果只取第一行

可以使用head -1 命令來只取grep到的數據的第一行。

例如一個文本文檔a.txt內容是:

北京是我們的首都

北京天安門坐落在中華人民共和國首都北京市的中心

我在北京天安門廣場吃炸雞

使用命令 cat a.txt |grep 北京 | head -n 1 可以只取到第一行的數據北京。


(7)shellgrep過濾的是行擴展閱讀

Linux中head命令詳解:

head命令與tail命令用法相似,head命令用於查看文檔的開始指定數量的字元塊,默認顯示文檔的前 10 行,如果給定的文件不止一個,則在顯示的每個文件前面加一個文件名標題。

1、grep命令用法格式

head 【參數】【文件】

2、命令選項

-c, --bytes=[-]K k,顯示文檔開始的前k個位元組,-k,不顯示文檔結尾的最後 k 個位元組

-n, --lines=[-]K k,顯示文檔開始的前k行,-k,不顯示文檔結尾的最後 k 行

-q, --quiet, --silent 不顯示包含給定文件名的文件頭

-v, --verbose 總是顯示包含給定文件名的文件頭

--help 顯示此幫助信息並退出

--version 顯示版本信息並退出

3、實例

#顯示前5行

head -n 5 head.txt

#顯示前5個位元組

head -c 5 head.txt

⑻ linux中怎麼用grep提取同時滿足兩個條件的行

需要准備的材料抄分別是:電腦襲、linux連接工具。

1、首先連接上linux主機,進入命令行狀態。

⑼ shell grep -v grep|grep -v tail 是啥意思

grep -v grep | grep -v tail

1、第一部分 「grep -v grep" 在文檔中過濾掉包含有grep字元的行
2、第二專部分「grep -v tail」 在第一部分過屬濾掉之後再過濾掉剩餘文檔中包含有tail字元的行
3、總結一下就是:這條命令的意思就是過濾掉文檔中包含字元「grep」和「tail」的行
4、可簡化為:grep -v "cp|mkdir"

閱讀全文

與shellgrep過濾的是行相關的資料

熱點內容
電路板含銅廢水 瀏覽:889
熱水器除垢粉真假 瀏覽:805
印染廢水化學處理方法 瀏覽:113
污水池裡有蟲子怎麼辦 瀏覽:345
水處理個人總結 瀏覽:981
進入污水井拿什麼檢測 瀏覽:683
我家飲水機里都是醋什麼梗 瀏覽:501
水箱前置過濾器 瀏覽:648
用存儲卡回提高運行內存速度嗎 瀏覽:496
深圳哪裡招污水處理工 瀏覽:940
哈弗h6工廠濾芯怎麼拆 瀏覽:371
原神純水精靈怎麼捕捉 瀏覽:109
純水之球各伺服器多少g 瀏覽:448
格卡諾空氣凈化器怎麼重置 瀏覽:686
飲水機濾芯怎麼驗貨 瀏覽:385
華帝凈水器售後電話多少 瀏覽:681
里水污水處理後排到哪裡 瀏覽:6
污水攻堅補齊什麼短板 瀏覽:446
跑污水處理跑業務工資高嗎 瀏覽:894
河南工業污水處理 瀏覽:871