Shell脚本学习-for循环结构3

news2024/12/30 2:08:26

案例1:

使用for循环结构在/oldboy目录下创建10个文件,名称依次为:

chang-1

chang-2

chang-3

...

chang-10

脚本:

[root@vm1 scripts]# cat for9.sh
#!/bin/bash

[ -d "/chang" ] || mkdir /chang

cd /chang

for i in {1..10}
do
    touch changchunhua-${i}
    if [ $? -eq 0 ]
      then
        echo "create file changchunhua-${i} successfully."
    fi
done

运行情况:

[root@vm1 scripts]# sh for9.sh
create file changchunhua-1 successfully.
create file changchunhua-2 successfully.
create file changchunhua-3 successfully.
create file changchunhua-4 successfully.
create file changchunhua-5 successfully.
create file changchunhua-6 successfully.
create file changchunhua-7 successfully.
create file changchunhua-8 successfully.
create file changchunhua-9 successfully.
create file changchunhua-10 successfully.

然后再到/chang目录下检查结果:

 

案例2:使用for循环将上面的changchunhua替换为linux,并且将扩展名改成大写。要求:for循环的循环体不能出现oldboy字符串。

renanme “changchunhua” "linux" changchunhua*

rename命令的用法:

rename fromstring tostring files

我看到一个网页上有rename跟正则表达式相结合的用法,但是检查man rename的方法,没有看到。在centos7的linux系统中测试了一下也是不行的。

然后再使用命令:

for filename in `ls linux*`;do mv $filename ${filename}.HTML;done

我们再将这个大写字母,改成小写字母:

rename ".HTML" ".html" linux*

或:
rename ".HTML" ".html" *.HTML

 

 

使用sed命令:

for filename in `ls /chang/*.html`; do mv $filename `echo $filename | sed "s#changchunhua#linux#g" | sed "s#html#HTML#g"`;done

测试结果如下:

 

还有别的方法:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/835107.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OA会议管理系统之我的审批(审批签字可生成图片)

一、前言 1.导读 OA会议管理系统之我的会议(会议排座&可拖拽座位&附源码)http://t.csdn.cn/iVLAD 书接上文,在上一篇中我们完成了我的会议功能,其中有功能会议送审,送审人就可以在我的审批功能中查看…

信息安全风险评估总结【GB/T 20984-2007】

文章目录 风险评估实施流程一.风险评估准备1.1确定风险评估目标1.2确定风险评估范围1.3组建评估团队1.4风险评估工作启动会议1.5系统调研1.6确定评估依据1.7确定评估工具1.8制定评估方案1.9获得支持 二.风险要素识别2.1实施整个流程图2.2资产识别2.2.1资产调查2.2.2资产分类2.2…

vCenter 7.0 的热迁移配置操作指南

vCenter 7.0 的热迁移配置操作指南 现在我们已经部署好了vCenter 7.0(VMware vCenter Server 7.0快速部署操作指南)和几台ESXi 7.0的虚拟主机(VMWare ESXi 7.0快速部署操作指南),我们可以继续测试之前操作失败的热迁移…

【练】要求打印,倒置线程,顺序执行。运行顺序为:线程1 线程2 线程1 线程2

要求定义一个全局变量 char buf[] "1234567",创建两个线程,不考虑退出条件,另: A线程循环打印buf字符串,B线程循环倒置buf字符串,即buf中本来存储1234567,倒置后buf中存储7654321. 不…

RabbitMQ 教程 | 第9章 RabbitMQ 高阶

👨🏻‍💻 热爱摄影的程序员 👨🏻‍🎨 喜欢编码的设计师 🧕🏻 擅长设计的剪辑师 🧑🏻‍🏫 一位高冷无情的编码爱好者 大家好,我是 DevO…

【MySQL】数据去重,仅保留一条(效率最高)

系列文章 C#底层库–MySQLBuilder脚本构建类(select、insert、update、in、带条件的SQL自动生成) 本文链接:https://blog.csdn.net/youcheng_ge/article/details/129179216 C#底层库–MySQL数据库操作辅助类(推荐阅读&#xff0…

一键生成logo的小妙招,这个方法值得收藏

在现代,每个品牌都需要一个标志性的logo,这个logo能够代表品牌,并且让消费者能够轻松识别出这个品牌。然而,对于许多人来说,制作一个漂亮的logo是一项艰巨的任务,需要花费大量的时间和精力。但是&#xff0…

2023 电赛E题--可能会出现的问题以及解决方法

2023年电赛E题报告模板(K210版)--可直接使用 本文链接:2023年电赛E题报告模板(K210版)--可直接使用_皓悦编程记的博客-CSDN博客 解决激光笔在黑色区域无法识别 本文链接: 2023 电赛 E 题 激光笔识别有误-…

W5500-EVB-PICO做DNS Client进行域名解析(四)

前言 在上一章节中我们用W5500-EVB-PICO通过dhcp获取ip地址(网关,子网掩码,dns服务器)等信息,给我们的开发板配置网络信息,成功的接入网络中,那么本章将教大家如何让我们的开发板进行DNS域名解析…

Python(六十三)获取字典视图

❤️ 专栏简介:本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中,我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 :本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

设计模式行为型——中介者模式

目录 什么是中介者模式 中介者模式的实现 中介者模式角色 中介者模式类图 中介者模式代码实现 中介者模式的特点 优点 缺点 使用场景 注意事项 实际应用 什么是中介者模式 中介者模式(Mediator Pattern)属于行为型模式,是用来降低…

Filebeat+ELK 部署

Node1节点(2C/4G):node1/192.168.8.10 Elasticsearch Kibana Node2节点(2C/4G):node2/192.168.8.11 Elasticsearch Apache节点:apache/192.168.8.13 …

Java反射学习(大综合)

第一天 Java反射及动态代理... 2 一、 Java反射... 2 1、什么是反射:... 2 2、反射的原理... 2 3、反射的优缺点:... 2 4、反射的用途:... 3 5、反射机制常用的类:... 3 1、获得Class:主要有三…

计算机基础:数据库-Sqlserver

数据库-Sqlserver 前言参考链接:关键词数据库代码案例视图触发器索引窗口函数游标小记 前言 妥妥的复习,我相信chatjpt,也相信笔记。 说实话,真正碰到问题还是先想到搜索引擎或chatjpt(即使印象中自己的笔记记过相关内容&#xf…

NVIDIA 535.86.05 Linux 图形驱动程序改进 Wayland 支持

导读NVIDIA公司近日发布了适用于 Linux、FreeBSD 和 Solaris 系统的 NVIDIA 535.86.05 图形驱动程序,作为其生产分支的维护更新,解决了各种错误和问题。 NVIDIA 535.86.05 是在 NVIDIA 535.54.03 发布一个多月之后发布的,它通过解决在使用某…

量子机器学习解决方案新鲜出炉!Rigetti和ADIALab签署合作

​ (图片来源:网络) 近日,美国全栈量子经典计算的先驱Rigetti Computing宣布与阿拉伯联合酋长国的ADIA Lab签署了合作协议,双方将共同设计、构建、运行和优化量子计算解决方案,旨在解决概率分布分类问题&am…

【腾讯云Cloud Studio实战训练营】如何成为一名合格的Python爬虫“念咒师”(基于ChatGpt)

【前言】 不管是新手程序猿,还是秃头程序猿,在工作学习中,都无法避免一项看似简单却又异常重要的环节——搭建开发环境,这常常让我们程序猿们头痛不已!毫不夸张的说,它可能是整个开发过程中最具挑战性和耗时…

Xcode protobuf2.5添加arm64编译器补丁生成静态库

项目需求,protobuf源码编成静态库使用 但是,github上的protobuf源码没有对应arm64的编译器定义,编译出来的静态库使用时报错。 下面的连接是arm64编译器代码补丁包,把编译器代码放到src/google/protobuf/stubs/atomicops_intern…

【安装】阿里云轻量服务器安装Ubuntu图形化界面(端口号/灰屏问题)

阿里云官网链接 https://help.aliyun.com/zh/simple-application-server/use-cases/use-vnc-to-build-guis-on-ubuntu-18-04-and-20-04 网上搜了很多教程,但是我没在界面看到有vnc连接,后面才发现官网有教程。 其实官网很详细了,不过这里还是…

Golang空结构体struct{}的作用是什么?

文章目录 占位符:通道标识:键集合:内存占用优化:总结: 在Go语言中,空结构体 struct{}是一种特殊的数据类型,它不占用任何内存空间。空结构体没有任何字段,也没有任何方法。尽管它看起…