найти имя пользователя в поле полного имени / gecos?

псевдоним в fish - это просто оболочка для встроенной функции , она существовала для обратной совместимости с оболочкой POSIX. псевдоним в fish не работал как псевдоним POSIX .

Если вам нужен эквивалент псевдонима POSIX , вы должны использовать abbr , который был добавлен в fish 2.2.0 :

abbr -a myfile "'/home/ben/test case/myfile'"

или:

abbr -a myfile "/home/ben/test\ case/myfile"

0
19.04.2018, 08:57
3 ответа

Я не нашел способа поиска в базе данных, но поиск записей непосредственно в OpenLDAP у меня работает.

$ ldapsearch -x -h ldap.example.com -ZZ \
             -D cn=lookup,dc=example,dc=com -W \
             -b ou=People,dc=example,dc=com -LLL \
             sn=lastname uid
dn: uid=newbie,ou=People,dc=example,dc=com  
uid: newbie

$
2
28.01.2020, 02:18

Вы можете использовать awk для выводаgetent passwd:

getent passwd | awk -F: '$5 ~ /lastname/ {print $1}'
1
28.01.2020, 02:18

Вы можете использовать что-то вроде следующей команды sed:

$ SURNAME=Smith
$ getent passwd | sed -n '/'$SURNAME'/s/^\([^:]*\):\([^:]*\):\([^:]*\):\([^:]*\):\([[:alpha:]]\+ '$SURNAME'\):\([^:]*\):\([^:]*\)$/\1 (\5)/p'
$ fps (Finnbarr Smith)
  jms (James Smith)
$

Приведенное выше регулярное выражение 'sed `предполагает, что поле GECOS содержит точно , например. «Джеймс Смит», согласно вашему вопросу. Его можно легко изменить, чтобы он соответствовал другим планам полей GECOS.

2
28.01.2020, 02:18

Теги

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