首页 > 代码库 > 使用for循环创建在指定目录下批量创建文件并重命名所有文件
使用for循环创建在指定目录下批量创建文件并重命名所有文件
要求1: 使用for循环在/root/scripts/practice/q1/oldboy 目录下创建十个文件.名称依次为:
oldboy-1,
oldboy-2,
.....
oldboy-10.
脚本实现:
#!/bin/bash #Question1 shopt -s expand_aliases alias ll="ls -l" cd /root/scripts/practice/q1 #首先判断目录是否存在,不存在则创建目录 if [ ! -e oldboy ] then /bin/mkdir oldboy else echo "" fi path=/root/scripts/practice/q1/oldboy cd $path for((i=1;i<=10;i++)) do /bin/touch oldboy-$i done ll $path
脚本执行效果:
#目录不存在时 [root@localhost q1]# pwd /root/scripts/practice/q1 [root@localhost q1]# ll 总计 4 -rw-r--r-- 1 root root 286 06-26 13:48 q1.sh [root@localhost q1]# [root@localhost q1]# sh q1.sh 总计 0 -rw-r--r-- 1 root root 0 06-26 13:51 oldboy-1 -rw-r--r-- 1 root root 0 06-26 13:51 oldboy-10 -rw-r--r-- 1 root root 0 06-26 13:51 oldboy-2 -rw-r--r-- 1 root root 0 06-26 13:51 oldboy-3 -rw-r--r-- 1 root root 0 06-26 13:51 oldboy-4 -rw-r--r-- 1 root root 0 06-26 13:51 oldboy-5 -rw-r--r-- 1 root root 0 06-26 13:51 oldboy-6 -rw-r--r-- 1 root root 0 06-26 13:51 oldboy-7 -rw-r--r-- 1 root root 0 06-26 13:51 oldboy-8 -rw-r--r-- 1 root root 0 06-26 13:51 oldboy-9 #目录存在时 #清空oldboy目录,但不删除该目录,模拟目录存在 [root@localhost q1]# rm -rf oldboy/* [root@localhost q1]# ls oldboy q1.sh [root@localhost q1]# ll oldboy/ 总计 0 [root@localhost q1]# sh q1.sh 总计 0 -rw-r--r-- 1 root root 0 06-26 13:53 oldboy-1 -rw-r--r-- 1 root root 0 06-26 13:53 oldboy-10 -rw-r--r-- 1 root root 0 06-26 13:53 oldboy-2 -rw-r--r-- 1 root root 0 06-26 13:53 oldboy-3 -rw-r--r-- 1 root root 0 06-26 13:53 oldboy-4 -rw-r--r-- 1 root root 0 06-26 13:53 oldboy-5 -rw-r--r-- 1 root root 0 06-26 13:53 oldboy-6 -rw-r--r-- 1 root root 0 06-26 13:53 oldboy-7 -rw-r--r-- 1 root root 0 06-26 13:53 oldboy-8 -rw-r--r-- 1 root root 0 06-26 13:53 oldboy-9 [root@localhost q1]# ll oldboy/ 总计 0 -rw-r--r-- 1 root root 0 06-26 13:53 oldboy-1 -rw-r--r-- 1 root root 0 06-26 13:53 oldboy-10 -rw-r--r-- 1 root root 0 06-26 13:53 oldboy-2 -rw-r--r-- 1 root root 0 06-26 13:53 oldboy-3 -rw-r--r-- 1 root root 0 06-26 13:53 oldboy-4 -rw-r--r-- 1 root root 0 06-26 13:53 oldboy-5 -rw-r--r-- 1 root root 0 06-26 13:53 oldboy-6 -rw-r--r-- 1 root root 0 06-26 13:53 oldboy-7 -rw-r--r-- 1 root root 0 06-26 13:53 oldboy-8 -rw-r--r-- 1 root root 0 06-26 13:53 oldboy-9
脚本可以正常完成文件创建任务.
要求2: 将上诉创建的所有oldboy-文件,使用for循环批量修改为Linux-.
脚本实现:
#!/bin/bash #Question2 shopt -s expand_aliases alias ll=‘ls -l‘ path=/root/scripts/practice/q1/oldboy cd $path for ((i=1;i<=10;i++)) do /bin/mv oldboy-$i Linux-$i done ll $path
执行效果:
[root@localhost q1]# sh q2.sh 总计 0 -rw-r--r-- 1 root root 0 06-26 13:53 Linux-1 -rw-r--r-- 1 root root 0 06-26 13:53 Linux-10 -rw-r--r-- 1 root root 0 06-26 13:53 Linux-2 -rw-r--r-- 1 root root 0 06-26 13:53 Linux-3 -rw-r--r-- 1 root root 0 06-26 13:53 Linux-4 -rw-r--r-- 1 root root 0 06-26 13:53 Linux-5 -rw-r--r-- 1 root root 0 06-26 13:53 Linux-6 -rw-r--r-- 1 root root 0 06-26 13:53 Linux-7 -rw-r--r-- 1 root root 0 06-26 13:53 Linux-8 -rw-r--r-- 1 root root 0 06-26 13:53 Linux-9 [root@localhost q1]# ls oldboy/ Linux-1 Linux-2 Linux-4 Linux-6 Linux-8 Linux-10 Linux-3 Linux-5 Linux-7 Linux-9 [root@localhost q1]#
已经成功完成重命名.
本文出自 “史振宁的技术博客” 博客,请务必保留此出处http://magic3.blog.51cto.com/1146917/1431155
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。