awk:三劍客之老大,擅長取列,取行,計算
引數:
!:表示取反,排除
nr:顯示行號
$0:表示顯示一整行內容
-f:指定分隔符或者多個分隔符
例子:使用awk取出網絡卡中的ip
[root@web02 oldboy]# ifconfig eth0
eth0 link encap:ethernet hwaddr 00:0c:29:1f:6d:b7
inet addr:10.0.0.3 bcast:10.0.0.255 mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe1f:6db7/64 scope:link
up broadcast running multicast mtu:1500 metric:1
rx packets:109302 errors:0 dropped:0 overruns:0 frame:0
tx packets:90828 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
rx bytes:75289221 (71.8 mib) tx bytes:36886895 (35.1 mib)
[root@web02 oldboy]# ifconfig eth0 |awk -f '[: ]+' 'nr==2 '
10.0.0.3
[root@web02 oldboy]#
例子2:取出檔案中的檔案許可權數字[root@web02 oldboy]# stat oldboy.txt
file: `oldboy.txt'
size: 246 blocks: 8 io block: 4096 regular file
device: 802h/2050d inode: 396746 links: 3
access: (0644/-rw-r--r--) uid: ( 0/ root) gid: ( 0/ root)
access: 2019-01-09 19:04:35.117568571 +0800
modify: 2019-01-09 19:04:29.682566423 +0800
change: 2019-01-09 19:04:29.685566229 +0800
[root@web02 oldboy]# stat oldboy.txt |awk -f '[(/]' 'nr==4'
0644
grep:過濾
引數:
-v:排除
-a數字:顯示過濾的內容及接下來的幾行
-n:顯示行號
egerp:支援高階的正則相當於gerp -e
--color=auto:給過濾出來的內容加上顏色
-o:表示grep正則的執行過程
例子:使用egrep過濾出ip地焉
sed:替換與修改檔案內容
引數:
/需要刪除的內容/d:表示刪除
-n:取消預設輸出,一般與p配合使用
-i:修改檔案內容
[root@web02 oldboy]# ifconfig eth0
eth0 link encap:ethernet hwaddr 00:0c:29:1f:6d:b7
inet addr:10.0.0.3 bcast:10.0.0.255 mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe1f:6db7/64 scope:link
up broadcast running multicast mtu:1500 metric:1
rx packets:110510 errors:0 dropped:0 overruns:0 frame:0
tx packets:91567 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
rx bytes:75392237 (71.8 mib) tx bytes:36965141 (35.2 mib)
[root@web02 oldboy]# ifconfig eth0|sed -nr '2s#.*dr:(.*) bc.*$#\1#gp'
10.0.0.3
##將inet替換成oldboy
[root@web02 oldboy]# ifconfig eth0|sed -nr '2s#inet#oldboy#gp'
oldboy addr:10.0.0.3 bcast:10.0.0.255 mask:255.255.255.0
例子2:使用sed取出檔案許可權數字[root@web02 oldboy]# stat oldboy.txt
file: `oldboy.txt'
size: 246 blocks: 8 io block: 4096 regular file
device: 802h/2050d inode: 396746 links: 3
access: (0644/-rw-r--r--) uid: ( 0/ root) gid: ( 0/ root)
access: 2019-01-09 19:04:35.117568571 +0800
modify: 2019-01-09 19:04:29.682566423 +0800
change: 2019-01-09 19:04:29.685566229 +0800
[root@web02 oldboy]# stat oldboy.txt |sed -nr '4p'
access: (0644/-rw-r--r--) uid: ( 0/ root) gid: ( 0/ root)
[root@web02 oldboy]# stat oldboy.txt |sed -nr '4s#.*\(([0-9]+)##gp'
/-rw-r--r--) uid: ( 0/ root) gid: ( 0/ root)
[root@web02 oldboy]# stat oldboy.txt |sed -nr '4s#.*\(([0-9]+).*$#\1#gp'
0644
linux正則和三劍客
linux初學總結 三個重要工具 grep awk sed awk 可以定位到資料的所在行數,並處理其中的分段 sed 可以對定位到的資料行進行增刪改查操作。管道 命令常和上面三個命令一起使用 命令1 命令2 命令3 命令1的輸出作為命令2的輸入經過命令2處理輸出的結果作為命令3的輸入 b 匹配單詞...
正則三劍客 grep
正則是一竄有規則的字元,掌握好正則對編寫shell指令碼有很大幫助 grep cinvabc word filename c 行數 i 不區分大小寫 n 顯示行號 v 取反 r 遍歷所有子目錄 a 後面跟數字,過濾出符合要求的行以及下面n行 b 同上,過濾出復合要求的行以及上面的n行 c 同上,同時...
Linux三劍客與管道
管道 正則 三劍客grep sed awk之間的關係 管道 左邊命令的輸出是右邊命令的輸入 比如 echo hello1234 grep hello 正則匹配字串的工具 正規表示式就是記錄文字規則的 小測試工具推薦 b 單詞 b 漢堡包 夾住只能匹配裡面的單詞 注意是右斜槓 ba w b b w b...