Создайте файл с определенным шаблоном - PullRequest
0 голосов
/ 28 мая 2018

Нужна помощь здесь.Мне нужно создать исполняемый файл для каждого пользователя, который существует в системе (Linux), и формат файла следующий:

fis_nr_username

, где nr обозначает 1-й файл, 2-йфайл и т.д.

1 Ответ

0 голосов
/ 28 мая 2018

Вы можете перебрать список пользователей, а затем перебрать номер файла (здесь от 0 до 10).Используйте printf с %03d для заполнения нулями.

#!/usr/bin/env bash                                                                                                                     

username="stud01 stud02 stud03"                                                              
for name in $username; do                                                                                                             
    for ((i=0; i<11; i++)); do                                                                                                        
      printf "file_%03d_%s\n" $i $name                                                                                                 
    done                                                                                                                              
done 

Вы можете сделать это функцией и поместить ее в .bashrc

newfiles() {                                                                                                                                      
  username="$@"                                                              
  for name in $username; do                                                                                                             
      for ((i=0; i<3; i++)); do                                                                                                        
        printf "file_%03d_%s\n" $i $name                                                                                                 
      done                                                                                                                              
  done
} 

, вызывая функцию с терминалас: newfiles firstuser serconduser.Выход:

fis_000_firstuser
fis_001_firstuser
fis_002_firstuser
fis_000_seconduser
fis_001_seconduser
fis_002_seconduser                                                                                                                                                                                                                   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...