cut及awk簡單使用

2022-03-21 17:12:47 字數 3545 閱讀 7748

用法:cut -d 「:」-f2 檔案

-c   以字元為單位進行分割

-d   分隔符,後面用引號引住分隔符

-f   與-d 連用,指定顯示那個區域

例項1-1

[root@jz ~]# cat a.txt

12 34 56 78 9

[root@jz ~]# cut -c 1-5 a.txt              《==擷取a.txt檔案第1到5個字元

12 34

[root@jz ~]# cut -d " " -f 2 a.txt         《==以空格為分隔符,取第二列內容。

用法:awk [options]  『』 file

-f   指定字段分隔符

nr   表示行號

$0   表示這一行的內容

$1   數字 某一列

$nf  最後一列

例項1-2

[root@jz ~]# ifconfig eth0                 《==創造環境

eth0      link encap:ethernet  hwaddr 00:0c:29:e8:64:67 

inet addr:10.0.0.7  bcast:10.0.0.255  mask:255.255.255.0

inet6 addr: fd15:4ba5:5a2b:1008:20c:29ff:fee8:6467/64 scope:global

inet6 addr: fe80::20c:29ff:fee8:6467/64 scope:link

up broadcast running multicast  mtu:1500  metric:1

rx packets:214880 errors:0 dropped:0 overruns:0 frame:0

tx packets:54012 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

rx bytes:213540025 (203.6 mib)  tx bytes:6069350 (5.7 mib)

過濾出hwaddr字元所在地行

[root@jz ~]# ifconfig eth0|awk '/hwaddr/'

eth0      link encap:ethernet  hwaddr 00:0c:29:e8:64:67 

過濾出第3行到第5行,並列印行號

[root@jz ~]# ifconfig eth0|awk 'nr==3,nr==5'

3           inet6 addr: fd15:4ba5:5a2b:1008:20c:29ff:fee8:6467/64 scope:global

4           inet6 addr: fe80::20c:29ff:fee8:6467/64 scope:link

5           up broadcast running multicast  mtu:1500  metric:1

方法2:

[root@jz ~]# ifconfig eth0|awk 'nr>2&&nr<6'

3           inet6 addr: fd15:4ba5:5a2b:1008:20c:29ff:fee8:6467/64 scope:global

4           inet6 addr: fe80::20c:29ff:fee8:6467/64 scope:link

5           up broadcast running multicast  mtu:1500  metric:1

列印全文行號

[root@jz ~]# ifconfig eth0|awk ''

1 eth0      link encap:ethernet  hwaddr 00:0c:29:e8:64:67 

2           inet addr:10.0.0.7  bcast:10.0.0.255  mask:255.255.255.0

3           inet6 addr: fd15:4ba5:5a2b:1008:20c:29ff:fee8:6467/64 scope:global

4           inet6 addr: fe80::20c:29ff:fee8:6467/64 scope:link

5           up broadcast running multicast  mtu:1500  metric:1

6           rx packets:215517 errors:0 dropped:0 overruns:0 frame:0

7           tx packets:54325 errors:0 dropped:0 overruns:0 carrier:0

8           collisions:0 txqueuelen:1000

9           rx bytes:213599924 (203.7 mib)  tx bytes:6108480 (5.8 mib)

[root@jz ~]# ifconfig eth0|awk -f '[: ]+' ''|awk 'nr==2'

10.0.0.7

[root@jz ~]# ifconfig eth0|awk -f '[: ]+' 'nr==2'

10.0.0.7

[root@jz ~]# ifconfig eth0|awk -f '[: ]+' 'nr>1&&nr<3'

10.0.0.7

[root@jz ~]# ifconfig eth0|grep '10.0.0.7'|awk -f '[ :]+' ''

10.0.0.7

[root@jz ~]# ifconfig eth0|sed -n 2p|awk -f '[ :]+' ''

10.0.0.7   

[root@jz ~]# ifconfig eth0|sed -nr '2s#^.*r:(.*) b.*$#\1#gp'

10.0.0.7

[root@jz ~]# ifconfig eth0|awk 'nr==2'|cut -d ':' -f 2|cut -d ' ' -f 1

10.0.0.7

[root@jz ~]# ifconfig eth0|awk '/inet addr.*/'|awk -f '[: ]+' ''

10.0.0.7

AWK簡單使用

awk 選項 處理命令 檔名 f 指定分隔符 print awk f etc passwd nr number ofrecord 列印行號 nf number of field 列印字段個數 awk f etc passwd 列印每一行的行號 awk f etc passwd 列印有多少個字段 aw...

Cut用法 和 awk的相關區別

b 以位元組為單位進行分割。這些位元組位置將忽略多位元組字元邊界,除非也指定了 n 標誌。c 以字元為單位進行分割。d 自定義分隔符,預設為製表符。f 與 d一起使用,指定顯示哪個區域。n 取消分割多位元組字元。僅和 b 標誌一起使用。如果字元的最後乙個位元組落在由 b 標誌的 list 引數指示的...

awk 使用高階及使用案例

chen localhost in shell 18 36 13 awk v num 3 f passwd33 3333 注意 awk中呼叫定義的變數不需要加 chen localhost in shell 18 37 04 awk v num 3 f passwd01 23561.3.1.概述 1...