LinuxTips cut或awk的比較

2022-01-23 03:51:43 字數 468 閱讀 9067

例如獲取所有包含python的程序的命令列

多的所有程序的詳細列表: ps -ef

使用grep查詢包含的行且去除grep程序本身: grep -v grep | grep python

1) 使用cut

ps -ef | cut -f8

上面的命令不能正常的工作,因為cut預設是以tab來分隔多個列的,但是ps的輸出是以多個空格分隔的,並不是以tab來分隔的,所以需要使用tr來將多個空格壓縮為乙個空格,

ps -ef | tr -s ' ' | cut -d' ' -f 8- | grep -v grep | grep python

2) 使用awk

ps -ef | awk '' | grep -v grep | grep python

awk預設的列分隔符為乙個或多個空格或tab,當然你可以通過fs來修改列分隔符,記錄行間的分隔符為rs。例如 begin

完!

如何傳遞shell變數給aw

一 var 這種寫法大家無需改變用 括起awk程式的習慣,是老外常用的寫法.如 var test awk begin 這種寫法其實際是雙括號變為單括號的常量,傳遞給了awk.如果var中含空格,為了shell不把空格作為分格符,便應該如下使用 var this is a test awk begin...

AW291 蒙德里安的夢想

題目位址 易錯點 結論1 在合法狀態下,對於每個橫塊的正上方兩個格仔中任意乙個格仔,一定屬於某個橫塊的一部分或某個豎塊的下半部.證明 假設有乙個橫塊的正上方兩格中的某格為乙個豎塊的上半部,由定義可知該情況不成立.對於任意乙個格仔,只有可能為以下三種狀態之一 豎塊上半部 豎塊下半部 半個橫塊.由 1 ...

ssh登入指令碼 expect語言中使用awk

五一勞動節被叫過去加班,要公升級程式,有100多台的伺服器。需要先登入伺服器,再將伺服器上的程式停掉,伺服器上的程式程序是用screen建立的,ps ef 他的程序pid 然後kill掉 usr bin expect set ipaddr lindex argv 0 spawn ssh ict ip...