У меня есть файл, содержащий список пользователей и информацию, каждая строка - отдельный пользователь, написанный так: [!d6 ]
alfred,butler,male,70,7:15.
Я хочу захватить имена только из списка, чтобы я мог создать для них пользователя.
Как только у меня есть имена, я могу просто использовать цикл for и echo useradd с каждым из имен пользователей, а затем просто скопировать и вставить текст. Как я подхожу к захвату символов до первой запятой?
Вы можете использовать cut, чтобы захватить первое поле, а затем подключиться к контуру while для запуска команд с именами в качестве входных данных:
cut -d ',' -f1 file | while read line; do echo "$line"; done
, очевидно, этот скрипт ничего полезного не делает поскольку это - заменить echo тем, что вы хотите сделать для каждого имени, например sudo useradd (после тестирования с помощью echo)