博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Shell中SEQ妙用
阅读量:6926 次
发布时间:2019-06-27

本文共 1059 字,大约阅读时间需要 3 分钟。

批量添加20个用户到class01组,用户名以std开头,以数字结尾,格式:std01---std20

方法1

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/sh
groupadd class01
a=std
for 
((i=1;i<=20;i++))
do
if 
[ $i -lt 10 ];
then
username=
"$a"
0
"$i"
else
username=$a$i
fi
useradd 
-G class01 -M  $username
done

方法2:

1
2
3
4
5
6
7
8
9
10
#!/bin/bash
groupadd class01
for 
in 
{1..20}
do
if  
[ $i -lt 10 ];
then
useradd 
"std0$i" 
-g class01
else
useradd 
"std$i" 
-g class01
fi
done

方法3:  此方法最简单高效,善用seq,会有意想不到效果

for i in `seq -w 20`;do useradd -G class01 sdt$i;done
seq的参数:
-f, --format=FORMAT      use printf style floating-point FORMAT (default: %g)
-s, --separator=STRING   use STRING to separate numbers (default: /n)
-w, --equal-width        equalize width by padding with leading zeroes
-f 选项   指定格式
seq -f"%3g" 1 10
% 后面指定数字的位数 默认是"%g",
"%3g"那么数字位数不足部分是空格
# seq -f"%03g" 1 11
001
002
003
004
005
006
007
008
009
010
011
% 前面指定字符串,sed -f"%03g" 1 11 这样的话数字位数不足部分是0
# seq -f "test%03g" 8 12
test008
test009
test010
test011
test012
-w 指定输出数字同宽   不能和-f一起用
# seq -w 1 10
输出是同宽的

本文转自 boy461205160 51CTO博客,原文链接:http://blog.51cto.com/461205160/1920294

转载地址:http://zvujl.baihongyu.com/

你可能感兴趣的文章
Android应用程序请求SurfaceFlinger服务渲染Surface的过程分析
查看>>
VMCloud见面礼——VMCloud博客迁移全记录
查看>>
三种算法转换色彩灰阶
查看>>
Skype for Business 2015 快速入门手册 v1.1
查看>>
微软私有云分享(R2)25集成WSUS
查看>>
批量删除2012年9月份以前的表
查看>>
FOSRestBundle功能包:异常控制器支持
查看>>
咬定青山、立根破岩
查看>>
查询优化器内核剖析第四篇:从一个实例看执行计划
查看>>
微商推广必修课::懂得人性营销让订单满天飞
查看>>
VCS双机由于ID冲突导致启动失败
查看>>
经验、知识和信息是天生免费的东西吗?
查看>>
QQ兴趣部落引流方法经验谈
查看>>
十一推荐:一部电影,一本书,一首歌
查看>>
智能硬件:突破创新的时代
查看>>
Percona5.6自身已支持杀死慢SQL
查看>>
【UNITY3D 游戏开发之八】Unity编译到iPhone运行 Collider 无法正常触发事件解决方案...
查看>>
5分钟了解MariaDB创建角色功能
查看>>
系统优化之Dojo优化策略--页面加载机制优化
查看>>
大卫谈学习
查看>>