awk與cut在以空格爲分割域時的區別

 awk默認以空格爲分割域,好比我想得到某進程pid:
[root@SHCTC-GAME12-44 ~]# ps -ef|grep "sshd -f"|grep -v grep
root      5088     1  0 14:28 ?        00:00:00 /usr/sbin/sshd -f /app/oslinkd/oslinkd_config

用awk以下寫:
ps -ef|grep "sshd -f"|grep -v grep|awk '{print $2}'
這樣便可得到pid : 5088  可是用cut,若以空格爲分隔域,則並非第二個域,而是第七個域,由於root與5088之間有6個空格: ps -ef|grep "sshd -f"|grep -v grep|cut -d' ' -f7 結論: awk 以空格爲分割域時,是以單個或多個連續的空格爲分隔符的; cut則是以單個空格做爲分隔符。
相關文章
相關標籤/搜索