linux - 创建一个以特定模式命名的文件
问题描述
在这里需要一些帮助。我需要为系统(Linux)上存在的每个用户创建一个可执行文件,文件格式如下:
fis_nr_username
其中nr代表第一个文件,第二个文件等...... 情况示例 机器上的用户:stud01 stud02 stud03 我需要一个文件让他们每个人都可以执行,看起来像这样:file_1_stud01 file_2_stud02 file_3_stud03
解决方案
您可以遍历用户列表,然后遍历文件编号(此处为 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
推荐阅读
- javascript - 映射数组项不会呈现所有元素
- json - 邮递员从环境变量在 Json 文件中添加数组
- https - 用于负载平衡 gRPC 流量的 HTTPS 证书
- c# - 如何在 C# 的并行任务中通过 tcp 套接字接收数据?
- symfony - 如何通过 JsFormValidatorBundle 验证的表单的 ajax 部分进行更改
- angular - 如何使用 angular 2 在prime ng中一次显示一个日历
- javascript - 在服务器上发布后,asp.net mvc ajax 调用不调用控制器
- java - JLS、JSR 和 JEP 之间有什么区别(或关系)?
- c# - 如何更改 Unity Text 中的文本
- mongodb - 如何根据MongoDB中where条件中引用的文档详细信息获取父文档详细信息?