for循环批量写文件 shell_从两个shell案例来学习shell语法for循环

概述

在计算机科学中,for循环(英语:for loop)是一种编程语言的迭代陈述,能够让程式码反复的执行。

它跟其他的循环,如while循环,最大的不同,是它拥有一个循环计数器,或是循环变数。这使得for循环能够知道在迭代过程中的执行顺序。今天主要用两个实例来介绍下shell脚本的for循环。


1、批量生成随机字符文件名

需求:使用for循环在/data目录下批量创建10个html文件,其中每个文件需要包含10个字符,包含3个随机小写字母和3个随机大写字母加固定字符串hwb

#!/bin/bash############################################################## File Name: make_file.sh#############################################################​[ -d /data ] || mkdir -p /datarpm -qa |grep pwgen &>/dev/nullif [ $? -eq 1 ]  then  yum install -y expect &>/dev/nullfi​cd /data &&for i in {1..10} do #File_Name=`uuidgen |tr "0-9-" "a-z"|cut -c 1-10` File_Name2=`mkpasswd -l 10 -c 3 -C 3` touch ${File_Name2}_hwb.htmldone
dd9fa44419fb56c8fa8345055e2fc88d.png

脚本結果:

5932c288fcfba9524b39fa6adb568a8e.png

2、批量改名特殊案例

将前面结果文件名中的hwb字符串全部改成linux(最好用for循环实现),并且将扩展名html全部改成大写。

#!/bin/bash############################################################## File Name: rename_file.sh#############################################################​cd /data &&File_name=`ls |sed -r 's#(.*)_hwb.html#1#g'`​for i in $File_name do if [ -f ${i}_hwb.html ]  then mv ${i}_hwb.html ${i}_linux.HTML else echo "文件修改完成." exit fidone
df27600dcef16462f7dd68501f0bd930.png

结果:

3d0fc14c1d10e0d978c9964cbfe5f679.png

觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

8191af57479a19a0502902865f3d063d.gif
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值