什麼是管道:
linux提供管道符「|」將兩個命令隔開,管道符左邊命令的輸出就會作為管道符右邊命令的輸入
示例:echo 「hell0 1234」|grep 『hello』
正規表示式就是記錄文字規則的**
舉例hi單詞後面有lucy單詞
hi 123wo lucy 321 :\bhi\b.*lucy\b
以0開頭,然後兩個數字,然後連字元「-」最後8個數字
020-66789023 0\d-\d
手機號碼
18890012345 1[\d]
電子郵件
[email protected] \w+([- +.]\w)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
規則:[…...] 匹配括號中任何一字元
[^…...] 匹配不在括號中的任何一字元
\w 匹配(a~z,a~z,0~9)
\w 匹配任何乙個空白字元
\s 匹配任何乙個非空白字元
\s 與任何非單詞字元匹配
\d 匹配任何乙個數字
\d 匹配任何乙個非數字
[\b] 匹配乙個退格鍵字母
最少匹配前面表示式n次,最大為m次
最少匹配前面表示式n次
正好匹配前面表示式n次
? 匹配前面表示式0或1次
+ 最少匹配前面表示式1次
* 最少匹配前面表示式0次
| 匹配前面或後面表示式
(…) 在單元中組合專案
^ 匹配字串開頭
$ 匹配字串結尾
\b 匹配字元邊界
\b 匹配非字元邊界的某個位置
定義:根據使用者指定的模式(pattern)對目標文字進行過濾,顯示被模式匹配到的行
命令形式:grep[選項]pattern[file…]
選項:-v 顯示不被pattern匹配到的行
-i 忽略字元大小寫
-n 顯示匹配的行號
-c 統計匹配的行數
-o 僅顯示匹配到的字串
-e 使用ere,相當於egrep
例如1、
查詢檔案內容包含root的行數
grep –n root test.txt
2、
查詢檔案內容不包含root的行
grep –nv root test.txt
3、
查詢以s開頭的行
grep ^s test.txt
4、
查詢以n結尾的行
grep n$ test.txt
命令形式:sed[-hn..][-e][-f][file]
-h:顯示幫助
-n:僅顯示script處理後的結果
-e以選項中指定的script來處理輸入的文字檔案
-f常用動作
a:新增 sed -e 『4 a newline』 在第四行後新增一行newline
c:取代 sed -e 『2,5c no 2-5 number』 no 2-5 number取代2-5行的內容
d:刪除 sed -e 『2,5d』 刪除2到5行的內容
i:插入 sed -e 『2i newline』 在第二行前面插入newline
p:列印 sed -n 『/root/p』 列印匹配到root行的內容
s:取代 sed -e 『s/old/new/g』 用new取代old
實戰檢視幫助
man sed
sed –h
在第四行後新增新字串
sed –e 『4 a newline testfile』 test.txt
全域性替換
sed –e 『s/root/hello/g』 test.txt
直接修改檔案內容
sed -i 『s/root/hello/g』 test.txt
定義:把檔案逐行讀入,以空格為預設分隔符將每行切片,切開的部分再進行後續的處理
命令形式:awk 』pattern+action
』 [file]
-pattern 正規表示式
-action對匹配到的內容執行命令(預設為輸出每行內容)
常用引數
filename awk瀏覽的檔名
begin 處理文字之前要執行的操作
end 處理文字之後要執行的操作
fs 設定輸入域分隔符,等價於命令列-f 選項
nf 瀏覽記錄的域的個數(列數)
nr 已讀記錄數(行數)
ofs 輸出域分隔符
ors 輸出記錄分隔符
rs 控制記錄分隔符
$0 整條記錄
$1 表示當前行的第乙個域……以此內推
實戰搜尋etc/passwd有關root關鍵字的所有行,並顯示對應的shell
awk –f:』/root/』/tec/passwd
列印/etc/passwd/的第二行資訊
awk -f :』nr==2』 /etc/passwd
使用begin加入標題
awk 『begin 』 /etc/passwd
自定義分隔符
echo 「111 222|333 444|555 666」 | awk
begin
Linux三劍客與管道
管道 正則 三劍客grep sed awk之間的關係 管道 左邊命令的輸出是右邊命令的輸入 比如 echo hello1234 grep hello 正則匹配字串的工具 正規表示式就是記錄文字規則的 小測試工具推薦 b 單詞 b 漢堡包 夾住只能匹配裡面的單詞 注意是右斜槓 ba w b b w b...
Linux命令三劍客
grep的簡單使用 grep的主要作用 文字搜尋工具,根據使用者指定的 模式 對目標文字逐行進行匹配檢查 列印匹配到的行 grep的工作模式 由正規表示式字元及文字字元所編寫的過濾條件 grep的用法 grep options pattern file options v 顯示不被pattern匹配...
Linux三劍客的基本使用
linux命令三劍客,awk,最擅長取列,sed最擅長取行,grep擅長過濾,是linux運維人員必會的三個命令。awk是一種優良的文字處理工具,linux及unix環境中現有的功能最強大的資料處理引擎之一。這種weinberger和brian kernighan三個人的姓的縮寫。awk 程式指令碼...