1. 程式人生 > >linux常用文字字元分割分析awk和cut命令

linux常用文字字元分割分析awk和cut命令

詳細文章:

由passwd檔案做示例,提取相關部分

[[email protected] 桌面]# cat /etc/passwd | head -10

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

awk命令

-F 指定分割字元

printf 可以指定輸出格式,print為直接列印,不能自定義格式輸出

awk後面可以直接跟檔名

[[email protected] 桌面]# cat /etc/passwd | head -10 | awk -F ":" '{printf "%s:%s\n",$1,$2}'
root:x
bin:x
daemon:x
adm:x
lp:x
sync:x
shutdown:x
halt:x
mail:x
operator:x

cut命令

-d 指定分割字元

-c和-b 提取位元組,不同的是-b可以用來提取一箇中文字元,而-c不可以,建議用-b

-f 指定提取部分

[[email protected] 桌面]# cat /etc/passwd | head -10 | cut -d : -f 1-2
root:x
bin:x
daemon:x
adm:x
lp:x
sync:x
shutdown:x
halt:x
mail:x
operator:x

[[email protected] 桌面]# cat /etc/passwd | head -10 |cut -b 1-3,5
roo:
binx
daeo
admx
lp::
syn:
shud
hal:
mai:
opea