使用for循环创建在指定目录下批量创建文件并重命名所有文件

简介:

要求1: 使用for循环在/root/scripts/practice/q1/oldboy 目录下创建十个文件.名称依次为:

oldboy-1,

oldboy-2,

 .....

oldboy-10.


脚本实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/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

脚本执行效果:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#目录不存在时
[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-.


脚本实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/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

执行效果:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[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] #


已经成功完成重命名.




本文转自 marbury 51CTO博客,原文链接:http://blog.51cto.com/magic3/1431155
相关文章
|
1月前
|
C#
C# 文件操作(全部) 追加、拷贝、删除、移动文件、创建目录
C# 文件操作(全部) 追加、拷贝、删除、移动文件、创建目录
23 0
|
11月前
|
JSON 数据格式
批量遍历指定类型的文件及文件夹,并将其复制到新的文件夹
批量遍历指定类型的文件及文件夹,并将其复制到新的文件夹
84 0
|
Unix Shell 测试技术
Python 文件复制&按目录树结构拷贝&批量删除目录及其子目录下的文件
Python 文件复制&按目录树结构拷贝&批量删除目录及其子目录下的文件
106 0
|
Linux Python
Python读取指定目录下的指定后缀文件名列表(批量读取)
Python读取指定目录下的指定后缀文件名列表(批量读取)
819 0
C#编程-22:判断文件是否存在并创建文件(夹)
C#编程-22:判断文件是否存在并创建文件(夹)