Что делает эта команда? Как я вижу это в терминале, потому что у меня ничего нет, когда я пишу cat passwd | awk -F':' '{printf $1}'
cat passwd
выводы содержание файла, названного passwd
в текущем каталоге. Эти awk
команда затем анализирует его, разделяет каждую строку с :
как разделитель полей и печатает первое поле.
, Если Вы не получаете вывода, также:
passwd
в текущем каталоге :
). то, Что команда, по-видимому, предназначена, чтобы сделать, проанализировать /etc/passwd
. В этом случае можно сделать:
awk -F: '{print $1}' /etc/passwd
Далее, если Вы не хотите ограничить команду локальными учетными записями, использование getent passwd
вместо того, чтобы использовать /etc/passwd
файл:
getent passwd | awk -F: '{print $1}'
Я предполагаю, что это - уродливая команда для извлечения всех имен пользователей из системы:
cat passwd
печать вывод файла passwd
, по-видимому /etc/passwd
. awk -F':' {printf $1}
разделяет вход (данный кошкой) использование :
как разделитель, и затем только печатает первый маркер, т.е. имя пользователя. Это не работает, потому что /etc
не находится в переменной пути по умолчанию, таким образом, путь должен был бы быть дан, не только имя файла. Кроме того, результат не был бы parsable правильно, поскольку awk's printf
не помещает новые строки в конец, в противоположность print
.
IMO корректная команда была бы похожа на это:
cat /etc/passwd | awk -F':' '{print $1}'