使用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
相关文章
|
存储 监控 网络协议
【Linux】文件服务NFS(Network File System)
【Linux】文件服务NFS(Network File System)
319 0
|
4月前
|
编解码 缓存 Ubuntu
在Ubuntu平台搭建RTMP直播服务器使用SRS简要指南
这个简要指南提供了搭建基本 RTMP 直播服务所需知道信息. SRS 还提供许多高级特性如 DVR、转码、边缘缓存等. 若要利用这些特性, 需要进一步阅读官方文档并相应地调整配置文件.
482 0
|
10月前
|
Shell Linux
【linux】Shell脚本中basename和dirname的详细用法教程
本文详细介绍了Linux Shell脚本中 `basename`和 `dirname`命令的用法,包括去除路径信息、去除后缀、批量处理文件名和路径等。同时,通过文件备份和日志文件分离的实践应用,展示了这两个命令在实际脚本中的应用场景。希望本文能帮助您更好地理解和应用 `basename`和 `dirname`命令,提高Shell脚本编写的效率和灵活性。
814 32
|
10月前
|
存储 编解码 虚拟化
【2025最新】VMware Workstation Pro 虚拟机配置与安装VMware Tools 感受它的强大~
VMware Tools 是 VMware 虚拟机中自带的一种增强工具,能够显著提升虚拟机的性能和用户体验。它提供了优化的显卡驱动程序、文件共享与拖放功能、时间同步以及跨虚拟机和宿主机的复制粘贴功能。安装 VMware Tools 可以让虚拟机在 VMware 平台上运行得更加高效,并且对于老旧系统(如 Win98、Win2000、WinXP)也能提供必要的驱动支持。每个虚拟机都需要独立安装与其操作系统版本相匹配的 VMware Tools,以确保最佳兼容性和性能表现。
1151 6
【2025最新】VMware Workstation Pro 虚拟机配置与安装VMware Tools 感受它的强大~
一文搞懂正则表达式之零宽断言
零宽断言: 用于查找在某些内容之前或之后的东西,也就是说它们像\b,^,$那样用于指定一个位置,这个位置应该满足一定的条件(即断言),因此它们也被称为零宽断言。
639 1
一文搞懂正则表达式之零宽断言
|
Java 测试技术 编译器
🎯Java零基础-Switch条件语句详解 🎯
【10月更文挑战第8天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
282 6
|
负载均衡 固态存储 Linux
阿里云轻量应用服务器、云服务器、gpu云服务器最新收费标准参考
轻量应用服务器、云服务器、gpu云服务器是阿里云服务器产品中,比较热门的云服务器产品类型,不同类型的云服务器产品收费模式与收费标准是不一样的,本文为大家展示这几个云服务器产品的最新收费标准情况,以供参考。
阿里云轻量应用服务器、云服务器、gpu云服务器最新收费标准参考
|
Ubuntu Linux Android开发
termux+anlinux+Rvnc viewer来使安卓手机(平板)变成linux服务器
本文介绍了如何在Android设备上安装Termux和AnLinux,并通过这些工具运行Ubuntu系统和桌面环境。
2763 3
termux+anlinux+Rvnc viewer来使安卓手机(平板)变成linux服务器
|
C++ Windows
Awesome nostr
该文章是关于Nostr协议的详细介绍,包括其去中心化社交网络的构建方式、工作原理、中继(relays)的作用,以及与Farcaster的比较,并提供了一些可用的Nostr客户端和中继实例。
107 3
|
Linux Shell 数据库
Linux如何在一个 Crontab 中安排多个 Cron 作业?
Linux如何在一个 Crontab 中安排多个 Cron 作业?
1221 1