加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

批量创建用户与批量文件重命名

发布时间:2020-12-13 22:32:37 所属栏目:Linux 来源:网络整理
导读:批量创建用户与批量文件重命名 批量创建用户与批量文件重命名 批量创建用户与批量文件重命名 1. 批量创建用户 1.1 分析解答 1.2 for循环完成 1.3 awk命令拼接完成 1.4 sed命令拼接完成 2. 批量重命名文件 2.1 具体分析 2.2 采用rename方式完成 2.3 采用awk命

批量创建用户与批量文件重命名

批量创建用户与批量文件重命名

    • 批量创建用户与批量文件重命名
      • 1. 批量创建用户
        • 1.1 分析解答
        • 1.2 for循环完成
        • 1.3 awk命令拼接完成
      • 1.4 sed命令拼接完成
      • 2. 批量重命名文件
        • 2.1 具体分析
        • 2.2 采用rename方式完成
        • 2.3 采用awk命令拼接方式完成
        • 2.4 采用sed命令拼接方法完成

批量创建用户与批量文件重命名

1. 批量创建用户

如果需要批量创建用户,且用户名为stu01-stu10,用户密码为随机的10位密码。

1.1 分析解答

如果用户名为stu01的话,我们可以采用for循环,直接变量范围为01-10,密码随机的话我们可以采用系统默认的随机变量RANDOM,因为默认的RANDOM只有5位数字,因此我们可以给它md5加密,然后取其中的8位字符当做密码。当然我们也可以不用循环,直接使用命令拼接的方式完成,stu01可以直接用seq或者{}来完成。

1.2 for循环完成

for (( n=1;n<11;n++));do useradd stu0$n && echo `echo $RANDOM |md5sum|cut -c "1-10"`|tee -a newpasswd.txt |passwd --stdin stu0$n;done;
[[email?protected] home]# for n in atu{01..10};do useradd $n && echo `echo $RANDOM|md5sum|cut -c "1-10"`|tee -a a3.txt|passwd --stdin $n;done;

1.3 awk命令拼接完成

seq -f atu%02g 10 |awk  ‘{print "useradd"" "   $0";" "echo `echo $RANDOM |md5sum|cut -c "1-10"`|tee -a a2.txt |passwd --stdin "$0 }‘ |bash
echo atu{01..10} |tr " " "n" |awk  ‘{print "useradd"" "   $0";" "echo `echo $RANDOM |md5sum|cut -c "1-10"`|tee -a a2.txt |passwd --stdin "$0 }‘ |bash

1.4 sed命令拼接完成

echo atu{01..10} |tr " " "n" |sed -r ‘s#(.*)#useradd 1;echo `echo $RANDOM |md5sum|cut -c "1-10"`|tee -a a1.txt |passwd --stdin 1 #g‘ |bash
[[email?protected] home]# seq -f atu%02g 10 |sed -r ‘s#(.*)#useradd 1;echo `echo $RANDOM |md5sum|cut -c "1-10"`|tee -a a1.txt |passwd --stdin 1 #g‘ |bash

2. 批量重命名文件

例如在当前目录下有3个文件,文件都是有随机数字加上stu.jpg结尾的,现在需要把这些文件全部重命名,将stu去掉。

2.1 具体分析

如果重命名我们可以采用rename,rename的使用方法是call: rename from to files...,我们把需要改变的内容放在from这里,把需要改成什么样的放在to这里,以及我们可以采用mv命令,利用awk或者sed进行命令拼接的方式完成。

2.2 采用rename方式完成

[[email?protected] tmp]# ls
149323stu.jpg  19701stu.jpg  270602stu.jpg
[[email?protected] tmp]# rename "stu" "" *
[[email?protected] tmp]# ls
149323.jpg  19701.jpg  270602.jpg

2.3 采用awk命令拼接方式完成

[[email?protected] tmp]# ls
140491stu.jpg  14052stu.jpg  282903stu.jpg
[[email?protected] tmp]# ls |awk -F "stu" ‘{print "mv"" "$0" "$1$2 }‘ |bash
[[email?protected] tmp]# ls
140491.jpg  14052.jpg  282903.jpg

2.4 采用sed命令拼接方法完成

[[email?protected] tmp]# ls
246792stu.jpg  255643stu.jpg  309491stu.jpg
[[email?protected] tmp]# ls |sed -r  ‘s#((.*)stu(.*)$)#mv 1 23#g‘ |bash 
[[email?protected] tmp]# ls
246792.jpg  255643.jpg  309491.jpg

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读