• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Shell脚本之文件批量创建与修改的简单方法

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

一、脚本要求

1.所有操作在/python下

2.批量创建12个以py后缀结尾的文件,文件名中必须包含_hcip,文件名除了_hcip固定字符串外,文件名还包含8个小写随机的字符。

3.创建的12个文件后缀名改为大写的PY,固定字符串改为_hcie

二、脚本内容

#!/bin/bash
##########################################################
#File Name:create_file.sh
#Version:V1.0
#Aurhor:
#Emali:
#Created Time:2021-06-15 02:56:59
#Description: create files & modify files
##########################################################


if [ -d /python ];then
   cd /python
else
   mkdir /python
   cd /python
fi
for i in {1..12}
do
   file_name=$(echo $RANDOM |md5sum |cut -c 1-8)
   touch ${file_name}_hcip.py
done

for files in $(ls /python)
do
     file1=$(echo $files |cut -d '_' -f1)
     mv $files ${file1}_hcie.PY
done



三、脚本运行结果

[root@control python]# /scripts/create_file.sh 
[root@control python]# ll
total 0
-rw-r--r-- 1 root root 0 Jun 15 04:26 4272db00_hcie.PY
-rw-r--r-- 1 root root 0 Jun 15 04:26 51989a58_hcie.PY
-rw-r--r-- 1 root root 0 Jun 15 04:26 75075364_hcie.PY
-rw-r--r-- 1 root root 0 Jun 15 04:26 7a272319_hcie.PY
-rw-r--r-- 1 root root 0 Jun 15 04:26 7d76af2f_hcie.PY
-rw-r--r-- 1 root root 0 Jun 15 04:26 977e73d6_hcie.PY
-rw-r--r-- 1 root root 0 Jun 15 04:26 9e4386a0_hcie.PY
-rw-r--r-- 1 root root 0 Jun 15 04:26 a35d5337_hcie.PY
-rw-r--r-- 1 root root 0 Jun 15 04:26 b9cb6458_hcie.PY
-rw-r--r-- 1 root root 0 Jun 15 04:26 b9d3349e_hcie.PY
-rw-r--r-- 1 root root 0 Jun 15 04:26 c3e589a2_hcie.PY
-rw-r--r-- 1 root root 0 Jun 15 04:26 e4f82be8_hcie.PY

附:将jpeg格式文件改成jpg格式为例

用脚本创建10个文件,以jpeg作为后缀,代码如下:

#!/bin/sh
for ((i=0;i<=10;i++))
do
    touch ${i}.jpeg
done

执行完上面的脚本后会看见在当前目录下生成10个文件,文件名的构成为name.suffix

为了批量更改当前目录下的文件,我们需要遍历当前目录,获得需要更改文件的name,然后与新的文件后缀进行拼接,形成新的文件名name.newsuffix。

代码如下:

#!/bin/sh
oldsuffix="jpeg"
newsuffix="jpg"
dir=$(eval pwd)

for file in $(ls $dir | grep .${oldsuffix})
    do
        name=$(ls ${file} | cut -d. -f1)
        mv $file ${name}.${newsuffix}
    done
echo "change jpeg to jpg successd!"

  1. oldsuffix是文件旧的后缀,newsuffix是文件新的后缀
  2. $(cmd)是命令替换,会在语句运行时执行cmd命令,然后返回cmd命令的执行结果;eval 的作用是再次执行命令行处理(不是对一个命令执行两次),也就是将eval后跟的参数整合成正确的命令行命令执行。$(eval pwd)执行后返回的结果是脚本所在的目录路径。
  3. 在循环语句中我们使用cut命令将匹配的文件name剪切出来。cut命令从文件的每一行剪切字节、字符和字段并将其送至标准输出。参数-d用于自定义分隔符,默认为制表符,程序中的-d.表示以.作为分隔符;参数-f指定截取显示哪个区域,-f1表示截取第一个区域,也就是文件名的name。

总结

到此这篇关于Shell脚本之文件批量创建与修改的文章就介绍到这了,更多相关Shell脚本文件批量创建修改内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界!


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
linux中nohup和后台运行进程查看及终止发布时间:2022-02-11
下一篇:
shell脚本加密工具shc使用详解发布时间:2022-02-11
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap