將 ps -ef 的輸出的
- 第一行砍掉
- 將同一 user 的 pid 順序印出
$ ps -ef | ./ex5.awk
klim: 27048 27141 27142
smmsp: 236 12322
daemon: 176
root: 0 1 2 3 52 62 137 160 174 184 185 196 210 215 223 248 260 262 263 292 298 301 310 316 317 319 321 324 325 326 327 341 1755 12321 27046
///////////////////////////////////////////////////////////////////////
這邊耍蠢了,不知道為啥我CALL內建的sort竟然不能用,於是我就自己寫了一個bubble sort來用
其實這邊的for*2可以改成內建的sort使用
#!/bin/awk -f
/^UID/{next}
!/UID/{
name=""
name=$1
user[name]=name
number[name]=number[name]" "$2
}
END{
answer=""
for(j in number)
{
n=split(number[j],tmp," ")
for(change1=1;change1<=n;change1++)
{
for (change2=1;change2<=n-1;change2++)
{
if(tmp[change2]>tmp[change2+1])
{
temp=tmp[change2];
tmp[change2]=tmp[change2+1];
tmp[change2+1]=temp;
}
}
}
for(i=1;i<=n;i++)
{
if(i>1)
after[j]=after[j]" "tmp[i]
else
after[j]=tmp[i]
}
}
for( i in user )
printf "%s : %s\n",i,after[i]
沒有留言:
張貼留言