2015-06-11 3 views
2

Я пишу скрипт, чтобы получить список зарегистрированных пользователей, я хочу показать список, как этот:Скрипт для получения списка зарегистрированных пользователей

The user AAA is on tty3 
The user BBB is on pts/0 

Вот что я написал до сих пор:

echo "The user " | who | awk -F ' ' '{print $1}' | echo " is on " | who | awk -F ' ' '{print $2}' 

но показывает только второй столбец, я получаю это:

tty3 
pts/0 

ответ

5

Попробуйте сделать это в одном одном awk:

who | awk '{print "The user " $1 " is on " $2}' 

Выполняя это много трубопроводов, вы отправляете первый вход в качестве другого выхода. Следовательно, вы теряете прежние данные, и, наконец, выходит только выход who | awk '{print $2}'.

0

Последние пользователи

last | cut -d " " -f 1 | sort | uniq 

Последние пользователи детальнее

last | uniq | column

, который вошли в систему (только имя пользователя)

who | cut -d' ' -f1 | sort | uniq 

короткие колонки, кто

who -su | sort | uniq | column 
Смежные вопросы