1.grep [選項][模式][檔案…]
grep命令由選項、模式和檔案三部分組成,它在乙個或多個檔案中搜尋滿足模式的文字行,模板後的所有字串被看做檔名,檔名可以有多個,搜尋的結果被列印到螢幕,不影響原檔案的內容。grep命令的選項用於對搜尋過程進行補充說明,
//編譯 7.txt 檔案內容 yy結束
cat >>7.txt<< yy
編譯完成 ctrl + c儲存 wq退出
nl 7.txt //nl 用行號顯示文字
grep『******』 -a 2 7.txt
//顯示此文字的後兩行內容
//顯示此行內容
grep -n 『the』 7.txt
//-n :顯示行數 查詢the用行數顯示出來
grep -vn
-vn //-vn: 是顯示不帶 the 用行數顯示
-in //-i: 顯示忽略大小寫 有就顯示
grep -n 『t[ae]st』 7.txt
// 第一位 tast 也行 test也行 行數顯示
grep -n 『0』 7.txt
『[^g]00』
//只要不是g開頭其他都顯示
『[^a-z]xx』 //只要不是小寫字母
grep -n 『^the』 7.txt
//以the開頭內容 the 不能有其他內容
『.$』 //顯示內容最後一位是點的內容
tail -6 7.txt | head -5
//先取後6行內容head取前5行內容顯示
『g…d』 //起頭g 結束d中間4個字元顯示
『[ot]』 『g.*g』 //兩個g前後呼應
grep 『g\w[2]g』 7.txt
//正規表示式中的
?+{} 需要加入\才能起作用 //如果不加就直接起作用
注意:經過測試\d 不能使用想使用數字用[0-9]還有要使用正規表示式的?+{}前邊要加斜槓
下面還有一些有意思的命令列引數:
grep -i pattern files :不區分大小寫地搜尋。預設情況區分大小寫,
grep -l pattern files :只列出匹配的檔名,
grep -l pattern files :列出不匹配的檔名,
grep -w pattern files :只匹配整個單詞,而不是字串的一部分(如匹配』magic』,而不是』magical』),
grep -c number pattern files :匹配的上下文分別顯示[number]行,
grep pattern1 | pattern2 files :顯示匹配 pattern1 或 pattern2 的行,
grep pattern1 files | grep pattern2 :顯示既匹配 pattern1 又匹配 pattern2 的行。
grep -n pattern files 即可顯示行號資訊
grep -c pattern files 即可查詢總行數
這裡還有些用於搜尋的特殊符號:
< 和 > 分別標註單詞的開始與結尾。
例如:grep man * 會匹配 『batman』、』manic』、』man』等,
grep 『』 只匹配』man』,而不是』batman』或』manic』等其他的字串。
『^』:指匹配的字串在行首,
『$』:指匹配的字串在行 尾,
sed指令
sed 『2,5d』
// 用行號顯示 刪除2-5行內容
nl 7.txt | sed 『2,5d』 //不是真正的刪除
//不刪除原本檔案內容
sed 『2,5d』 7.txt > 8.txt
//刪除7.txt 2-5行內容 到新的8.txt檔案裡
顯示被刪除的樣子
sed 『/^#.*/d』 /etc/inttab | sed 『/^$/d』
//刪除注釋加空白行
nl /etc/passwd | sed '2a 『ttt***』
//在第2行後面加
『2i ttt***』
//在前面加
『2i ttt/iii/aaa』
插入3行內容
sed刪除指令
內容如下
11 aa
22 bb
33 cc
23 dd
55 2e
sed 『1,2d』 test.xx
輸出:33 cc
23 dd
55 2e
其中1,2d中的d表示刪除,而d前面的表示刪除的行的位址,而1,2表示乙個位址範圍,也就是刪除第1行和第2行。位址範圍的表示一般是 m,n 表示對m和n行之間的所有行進行操作,也包含第m行和第n行。sed的位址定址中可以使用表示最
後一行,
例如m,
表示最後一行,例如 m,
表示最後一行
,例如m
, 表示對m行以及其後面的所有行進行操作,包括最後一樣。m,$d就是刪除m行以及其後面的所有行內容。當然我們還可以對某一行進行操作,例如2d表示僅僅刪除第2行。除了使用數字範圍 m,n 表示多行區間,以及m表示單行以外,我們還可以使用正規表示式選出符合條件的行,並對這些行進行操作,同樣的是上面的檔案:
sed 『/2/d』 test.txt
輸出:11 aa
33 cc
上面的命令中 /2/ 是乙個正規表示式,在sed中正規表示式是寫在 /…/ 兩個斜槓中間的,這個正則的意思是尋找所有包含2的行,執行相應的操作,也就是刪除所有包含2的行,如果我們只想刪除以2開頭的行呢,只需要修改一下正規表示式就可以了:
sed 『/^2/d』 test.txt
輸出:11 aa
33 cc
55 2e
Linux中grep,sed的使用
今天,mayuyu來講一些linux中常用的命令。1.grep命令 grep用於過濾自己需要的內容,語法如下 grep mayuyu color 過濾出所有包含mayuyu的行,grep中也是支援正規表示式的。2.sed命令 使用普通的vim編輯器在編輯檔案時有兩個主要的問題 1 當檔案比較大的時候...
Linux基礎正規表示式 grep,sed
先說明語系對正規表示式的影響 lang c 0,1,2,3,4.a,b,c,d.z a b c d z lang zh cn 0,1,2,3,4.a a b b c c d d.z z 因為不同語系用 a z 篩選的不同,所以出現了特殊符號 alnum 即0 9,a z,a z,英文大小寫字元和數字...
linux基礎 使用指令2
1.cat指令 功能 檢視檔案內容,是以唯讀的方式開啟。語法 cat 要檢視的檔案 選項 n 顯示行號 末尾加 more 分頁 使用細節 cat只能瀏覽檔案,而不能修改檔案,為了瀏覽方便,一般會帶上 管道命令 more 例如 cat 檔名 more 2.more指令 more指令中內建了若干快捷鍵,...