導航:首頁 > 凈水問答 > linuxgrep過濾掉

linuxgrep過濾掉

發布時間:2021-03-23 08:05:49

① 在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 搜索到的結果導入到一個文件,但要剔除沒找到的項,只留找到的項。

grep 本來就是過濾命令。
你將其他命令得到的結果,比如ls -l命令得到的列表,通過管道符 | 導出到grep,後面接上要查找的關鍵字,再把結果通過重定向導出到文件。
就像:lsmod | grep wifi >> ~/result.txt

③ linux grep -d skip/skip/recurse 是讀目錄文件採取讀或者跳過,我感覺這個沒有用啊,用了和沒用一樣!

個人理解,舉例子,過濾關鍵字'DEVICE=ens33',過濾位置/etc/* ,就是在/etc/目錄下過濾出關鍵字'DEVICE=ens33'的行

#read讀取
[root@localhost~]#grep-dread'DEVICE-ens33'/etc/*

會發現得到很多:grep: /etc/xxx: Is a directory,我給的范圍是/etc/*,grep過濾字元時肯定要打開文件讀取到數據吧,而我給的路徑有的目錄,目錄怎麼讀取,所以讀目錄的時候會報錯,那麼我認為read是默認的模式,並且不會過濾子目錄內的文件!

#recurse遞歸
[root@localhost~]#grep-drecurse'DEVICE=ens33'/etc/*

得到結果:/etc/sysconfig/network-scripts/ifcfg-ens33:DEVICE=ens33發現,過濾的路徑不再是/etc/xxx,而是將/etc/所有的目錄包括子目錄都在過濾范圍內了,而沒有提示xxx Is a directory,可能是讀取子目錄時發現是目錄,就進到子目錄在進行過濾 [0_0]異想天開,反正,這不就是遞歸了嘛。

#skip跳過
[root@localhost~]#grep-dskip'DEVICE=ens33'/etc/*
#發現什麼都沒有,而我使用
[root@localhost~]#grep-dskip'/root:/bin/bash'/etc/*
#結果如下
/etc/passwd:root:x:0:0:root:/root:/bin/bash
/etc/passwd-:root:x:0:0:root:/root:/bin/bash

發現了當我使用skip這個選項,只有/etc/xxx這級目錄能被過濾出來,發現它並沒有遞歸了,並且沒有提示xxx Is a directory。從字面意思上看,skip,貌似是目錄的話就跳過了。。。

④ linux怎樣用grep過濾

不知道你是想實現什麼目的,如果你是想只顯示配置文件中的以 # 號開頭的行版,那就使用
# grep ^# filename
如果是想顯示除權 # 號開頭的行的話呢,只需加個參數-v (-v 表示相反的過濾)就行了
# grep -v ^# filename

⑤ LINUX過濾內容的問題

|1、復制文件到/tmp目錄
cp /etc/rsyslog.conf /tmp
2、去除#開頭和包含空格的行,重定向內到/root/grep.txt文件容
cat /tmp/rsyslog.conf | grep -v " "|sed 's/^#//g' > /root/grep.txt

⑥ 在linux操作系統中,如何單獨的用grep或者是其它命令獲取搜索關鍵詞所在行除去關鍵詞後的內容

sed後項引用

abc defg
sed 's@^\(ab\)c([[:space:]].*)@\1@'
ab defg

大概就是這個意思

⑦ linux 操作系統中shell過濾

這不簡單,循環嵌套case多分枝選擇結構,一樓的回答我就不說什麼了,根本就沒有/bash/這個路徑,sh自然也不會存在在這個路徑上。這個腳本就是可能的數值太多,case分支寫得累……。算了,我給你寫個吧。

說明:此腳本接收腳本後跟的第一個參數為讀取定義數值的文本,比如說你在工作路徑上有個叫test的文件,該文件定義了需要包含的數字,腳本本身的文件名是num那麼執行該腳本的命令是./num ./test

每個數字對應的命令自己改吧,我這里全是列印文件里包含了對應的數值到標准輸出上。以下腳本在ubuntu server 8.04測試通過。

#! /bin/bash
for var in `sed 's/,/ /g' $1` #注意,包圍sed語句的是反引號,即字母鍵盤上方數字1左邊的那個鍵
do
case $var in
0)
echo "0 is in the string\.";;
1)
echo "1 is in the string\.";;
2)
echo "2 is in the string\.";;
3)
echo "3 is in the string\.";;
4)
echo "4 is in the string\.";;
5)
echo "5 is in the string\.";;
6)
echo "6 is in the string\.";;
7)
echo "7 is in the string\.";;
8)
echo "8 is in the string\.";;
9)
echo "9 is in the string\.";;
10)
echo "10 is in the string\.";;
11)
echo "11 is in the string\.";;
12)
echo "12 is in the string\.";;
13)
echo "13 is in the string\.";;
14)
echo "14 is in the string\.";;
15)
echo "15 is in the string\.";;
16)
echo "16 is in the string\.";;
17)
echo "17 is in the string\.";;
18)
echo "18 is in the string\.";;
19)
echo "19 is in the string\.";;
20)
echo "20 is in the string\.";;
21)
echo "21 is in the string\.";;
22)
echo "22 is in the string\.";;
23)
echo "23 is in the string\.";;
24)
echo "24 is in the string\.";;
25)
echo "25 is in the string\.";;
26)
echo "26 is in the string\.";;
27)
echo "27 is in the string\.";;
28)
echo "28 is in the string\.";;
*)
echo "One or more variable\(s\) in $1 is out of range!";;
esac
done

⑧ 怎樣用grep命令去掉空格行和以#開頭的行

grep -vE '^#|^$' filename
「^」表示行首,「^」#就是以#開頭的行。
「$」表示行尾,「^$」就是空行。
-E表示「或」的關系。

⑨ linux中怎麼把grep過濾出的目錄傳給cd命令切換目錄

cd命令
使用許可權 : 所有使用者
使用方式 : cd [dirName]
說明 : 變換工作目錄至 dirName。 其中 dirName 表示法可為絕版對路徑或相對權路徑。若目錄名稱省略,則變換至使用者的 home directory (也就是剛 login 時所在的目錄)。
另外,"~" 也表示為 home directory 的意思,"." 則是表示目前所在的目錄,".." 則表示目前目錄位置的上一層目錄。
範例 : 跳到 /usr/bin/ :
cd /usr/bin
跳到自己的 home directory :
cd ~
跳到目前目錄的上上兩層 :
cd ../..
返回進入當前目錄前所在目錄
cd -

⑩ Linux:為什麼查找進程的時候要過濾掉grep呢

因為你查找進程用到了grep命令,而這個命令執行的時候帶有你查找的進程參數,同時專這也是一個進程。

例如 這條屬命令 ps -ef | grep http 其實是分兩步執行的 先執行ps -ef 再執行 grep http 這個命令本身執行的時候也是一個進程,並把也帶有http。
所以你要查找http進程,需要把 grep http這個進程過濾掉,才是最後的結果,怎麼過濾呢,肯定不能用http做關鍵字,只能用grep做關鍵字
也就是說查找http進程的話,這樣寫
ps -ef | grep http | grep -v grep

閱讀全文

與linuxgrep過濾掉相關的資料

熱點內容
EDI有哪些內容 瀏覽:870
內嵌式飲水機怎麼配合全屋凈水 瀏覽:711
荊馬河污水處怎麼樣 瀏覽:898
提升泵和加葯泵一起啟動 瀏覽:928
純水井水沒水壓怎麼裝 瀏覽:186
銀川市城市污水處理廠 瀏覽:52
生活污水是否可以直排河流 瀏覽:677
呋喃樹脂怎麼生產 瀏覽:198
ro膜可以反向沖洗么 瀏覽:140
老馬6汽油濾芯怎麼拆 瀏覽:928
圖片如何過濾變清晰 瀏覽:717
污水能不能跨省轉移 瀏覽:101
凈化器清洗指示燈閃爍怎麼解決 瀏覽:812
生活污水每人按照多少噸 瀏覽:309
軒逸用什麼牌子空氣濾芯好 瀏覽:437
診療機構污水處理 瀏覽:188
哪吒upro空調濾芯怎麼復位 瀏覽:273
創新凈化器什麼價格 瀏覽:758
一個人一天喝多少純凈水最合適 瀏覽:701
156非球面加膜樹脂鏡片 瀏覽:455