
Я видел похожие вопросы и на самом деле нашел решение с помощью awk
команды, но мне не разрешено использовать ее в моем домашнем задании. поэтому я хочу узнать, есть ли другой способ отобразить всех пользователей и их домашние каталоги в такой форме, user_name:user_home_directory
например: root:/root
отсортировать по пользователям. это команда, которая дала желаемый вывод, но мне не разрешено использовать awk
:
awk -F":" {'print $1":"$6'} /etc/passwd | sort
Я думаю, это как-то связано с grep
и/или, cut
потому что это то, что я изучаю, правда, знаю, но и другие команды могут быть задействованы, кроме sed
иawk
Я использую :
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.4 LTS
Release: 20.04
Codename: focal
решение1
Этот сайт не для решения домашних заданий. Однако я дам вам несколько подсказок:
man cut
. посмотрите на опции -d и -fsed
может быть использовано для удаления нежелательных полей из строки. Такое поле может соответствовать:[^:]*:
- в
bash
вы можете выполнить цикл по файлу с помощьюread
; если вы установитеIFS=:
, вы можете разделить поле на разные переменные.