2013年4月16日 星期二

UNIX IN NCNU writing sh script

寫一 sh 的 script file, 例如為 ex6.sh. 其執行結果與作業五類似. 如下例所示.
$ ./ex6.sh 
klim: 29747 29957 29958
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 29745
smmsp: 236 12322
daemon: 176
$ ps -e -o user,pid | ./ex5.awk 
klim: 29747 29962 29963
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 29745

///////////////////////////////////////////////////////////////////////

#!/bin/bash
index=-1
tmp=" "
ps -e -o user,pid | sed '1d' | sort >>doc.txt
while read user pid;do
        #printf "%s : %s\n" $user $pid
        if [ "$tmp" = "$user" ];then
                        number[$index]=${number[$index]}' '$pid
                        name[$index]=$user':'
        else
                index=`expr $index + 1`
                number[$index]=${number[$index]}' '$pid
                name[$index]=$user':'
        fi
        tmp=$user
done<doc.txt

for((i=0;i<=index;i=i+1))
do
        echo  "${name[$i]}${number[$i]}"
done
rm doc.txt

沒有留言:

張貼留言