linux:一道作业题(改进版本)
2020-08-09 18:23
561 查看
之前根据下面的需求写了一个脚本,自我感觉太垃圾了,经过修改,下面的版本更简洁,更科学,随着学习的深入,我也会继续对之前的代码进行更合理更简洁的改进!!
1.在/edu目录中批量创建10个文件,文件名由10个随机小写字母+固定字符组成.固定字符 为_html, 如:ahdkhzhdld_html。
2.将上述目录中的文件重命名,将 html 换成 HTML。
3.仅保留上述目录中最新的文件,其它文件都删除掉。
#!/bin/bash #定义一个随机生成10个字母的函数 function genLetters(){ letters=qwertyuiopasdfghjklzxcvbnm name= for i in {1..10} do num=$[ $RANDOM%26 ] one_letters=${letters:$num:1} #变量切片 name=$name$one_letters done echo $name } echo "正在创建文件..." sleep 2 #开始创建文件 for j in {1..10} do touch /edu/$(genLetters)_html done echo "文件创建完毕!结果如下:" ls /edu/ #直接展示第一步结果 sleep 5 echo "开始重命名文件...." sleep 1 #开始重命名 for i in `ls /edu/*_html` do mv $i ${i::-4}HTML done echo "重命名完毕!结果如下:" ls /edu/ #直接展示第二步结果 sleep 5 echo "正在删除旧文件..." sleep 1 #开始删除旧文件 for i in `ls /edu/*` do for j in `ls /edu/*` do test $j -ot $i #检查是否比最新的文件要旧 result=`echo $?` #如果返回0,则比最新的文件要旧 [ $result -eq 0 ]&& rm -rf $j && echo "已删除$j" done done echo "旧文件删除完毕!结果如下:" ls /edu/ #直接展示第三步结果
相关文章推荐
- linux 中切换gcc 和 g++版本
- 解决linux redhat版本下 yum命令不可使用问题。
- 不管你是那个linux 发行版本,请到这里更新yum源,也有apt
- Win10上编译CoreCLR的Windows和Linux版本
- Linux各版本root本地密码破解方法
- 最大N算法(前一版本的改进)
- Linux下切换Python版本
- Linux 版本查询命令
- Linux各发行版本 优缺点 简介
- 查看Linux版本命令
- Linux下GLIBCXX和GLIBC版本低造成的编译错误的解决方案
- Linux使用笔记4-添加用户变量(设置自己的命令,修改默认python版本等)
- Linux6.3_64安装Oracle10.2.0.1数据库并升级至10.2.0.4版本
- linux,apache,php,mysql常用的查看版本信息的方法
- Linux版本
- Linux升级python版本
- 我正在运行的 Linux 是什么版本? | Linux 中国
- Linux进程及作业管理
- linux,apache,php,mysql常用的查看版本信息的方法
- 团队作业5——测试与发布(Alpha版本)