首页 > 解决方案 > 创建一个以特定模式命名的文件

问题描述

在这里需要一些帮助。我需要为系统(Linux)上存在的每个用户创建一个可执行文件,文件格式如下:

fis_nr_username

其中nr代表第一个文件,第二个文件等...... 情况示例 机器上的用户:stud01 stud02 stud03 我需要一个文件让他们每个人都可以执行,看起来像这样:file_1_stud01 file_2_stud02 file_3_stud03

标签: linuxbashshell

解决方案


您可以遍历用户列表,然后遍历文件编号(此处为 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                                                                                                                                                                                                                   

推荐阅读