Как напечатать уникальное имя в UNIX с помощью команды

Как напечатать уникальное имя в UNIX с помощью команды

Мне нужна помощь, чтобы напечатать только одно имя из моего файла /etc/passwd. Например, если есть две записи с именами "avi" и "avig", то как мне напечатать только "avi"? Я пробовал команду cut, unique, но не получаю надлежащего вывода.

решение1

Вам нужно закрепить строку, которую вы ищете. Попробуйте egrep '^avi:' /etc/passwd.

решение2

Если вы хотите получить только запись для определенного пользователя из вашей базы данных, passwdвам следует просто использовать getentкоманду типа

getent passwd avi

в противном случае вам просто нужно убедиться, что ваше регулярное выражение/шаблон достаточно конкретны, чтобы соответствовать только тому, что вам нужно.

Если вы grepподдерживаете это, вы можете сказать, grepчто нужно сопоставлять только ваш шаблон со всем словом, например

grep -w ^avi /etc/passwd

работает с GNU и BSD grep

Связанный контент