난 당신이 올바른 얻을 것보다 대한이가 작동보다
$ ./who.sh foo bar
bar pts/5
foo pts/15
bar pts/17
bar pts/18
그렇다면 : 당신은 예를 들어 얻을 것으로 예상
$ who
oxo tty7 2014-05-12 14:32 (:0)
bar pts/5 2014-05-12 18:35 (:0:S.1)
oxo pts/1 2014-05-13 13:29 (:0:S.5)
baz pts/8 2014-05-12 18:35 (:0:S.2)
oxo pts/12 2014-05-12 18:35 (:0:S.3)
oxo pts/13 2014-05-12 18:35 (:0:S.4)
foo pts/15 2014-05-12 18:35 (:0:S.0)
bar pts/17 2014-05-13 19:36 (:0:S.6)
bar pts/18 2014-05-14 00:03 (:0:S.7)
너 :
#!/bin/bash
users=`echo [email protected]|tr " " "|"`
who|sort -k 3|awk -v users="$users" '$1 ~ users {print $1" "$2}'
실제로는 awk
과 tr
또는 sort
으로 만 수행 할 수 있지만 충분히 좋겠 으면합니다.
업데이트 :
이 사용할 수 있습니다 tr
제거하려면 : 당신은 sort
을 대체 할 asorti()
을 사용할 수 있습니다
#!/bin/bash
who|sort -k 3|awk -v users="$*" 'BEGIN { regex = gensub(/\s/, "|" ,"g", users) }; $1 ~ regex { print $1" "$2 }'
.
예제를 어떻게 실행 하시겠습니까? – pawel7318
./script username1 username2 blabla pete stevie etc. – Daniel
다른 숙제? :) – pawel7318