Печатать строковые значения из текста с разделителями в Unix

awk -F, 'BEGIN { OFS=FS } { print $1, $3 }' userlist.txt |
while IFS=, read username realname; do
    useradd -c "$realname" "$username" 
done

awk выше выберет первый и третий столбцы из предоставленного файла и создаст список имен пользователей, разделенных запятыми, за которым следует по настоящему имени.

Разделенный запятыми вывод из awk считывается, разделяется запятыми и сохраняется в переменных оболочки username и realname и useradd вызывается.

Обычно, когда кто-то создает пользователя, он может одновременно захотеть добавить для него домашний каталог. Сделайте это, добавив -m к вызову useradd . Если пользователи должны быть частью определенной группы или иметь вторичные группы, используйте -g и -G с другими частями информации из входных данных.

1
25.11.2018, 02:55
1 ответ

Просто командойвырезать:

s="ABC_CAE_AAA_D_000_09"
cut -d'_' -f1-2 <<< $s
ABC_CAE
2
27.01.2020, 23:33

Теги

Похожие вопросы