Список команд Grep bin / bash или тире - PullRequest
0 голосов
/ 23 марта 2020

Есть ли команда grep, которая перечисляет всех пользователей (в / etc / passwd), которые используют bash (/ bin / bash) или da sh (/ bin / sh) и их домашний каталог находится в / home (от второго к последнему разделу: имеет домашний каталог)?

Я думаю о командах:

getent passwd | awk -F ':' '$6 ~ "^/home" {print $1}'

или:

getent passwd| awk -F ":" '$7=="/bin/bash" { print $1 }'

но я я не прав

Ответы [ 2 ]

0 голосов
/ 23 марта 2020

Команда grep, которая удовлетворяет вашим условиям, выглядит следующим образом:

   getent passwd | grep -E ':/home/.*?:.*?[bd]ash$'

Регулярное выражение - это все строки с домашним каталогом и bash или da sh.

0 голосов
/ 23 марта 2020

Просто объедините ваши условия:

getent passwd | awk -F':' '$7 ~ "^/bin/(ba)?sh$" && $6 ~ "^/home/"{ print $1 }'

или

getent passwd | awk -F':' '($7=="/bin/bash" || $7=="/bin/sh") && $6 ~ "^/home/"{ print $1 }'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...