Печать информации о конкретном пользователе из /etc/passwd

Попробуйте это:readимеет встроенную опцию тайм-аута -t!

while read -t 10 LOGLINE 
do
  [[ "${LOGLINE}" == *"Finished building"* ]] && pkill -P $$ tail
 done

Вышеприведенное заканчивается после 10 seconds. Укажите требуемый тайм-аут в seconds. Подробнее см.man read

read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name...]
0
13.02.2020, 20:47
2 ответа

Попробуйте что-нибудь в этом роде:

awk -F: '{if ($3 >= 1000) {print "Username: " $1 "\nPassword: " $2 "\nUid: " $3 "\nGid: " $4 "\nComment: " $5 "\nHome: " $6 "\nShell: " $7 "\n---"}} /etc/passwd
1
28.04.2021, 23:23

Можно было бы сделать это с getentи awk

getent passwd Erik | awk -F: '{print "Username: " $1 "\nPassword: " $2 "\nUid: " $3 "\nGid: " $4 "\nComment: " $5 "\nHome: " $6 "\nShell: " $7 "\n"}'

… но пора вспомнить старую команду, и что не все является упражнением в awkилиperl:

finger -l -k Erik

Обратите внимание, что в некоторых операционных системах может отсутствовать параметр -k. (Он исключает некоторую информацию, которой вы не интересовались. )Но -lявляется довольно универсальным.

Дополнительная литература

4
28.04.2021, 23:23

Теги

Похожие вопросы