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則是以單個空格作為分隔符。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM