Shell脚本之⽂件批量创建与修改的简单⽅法
⼀、脚本要求
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
三、脚本运⾏结果
shell最简单脚本
[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,然后与新的⽂件后缀进⾏拼接,形成新的⽂件名wsuffix。
代码如下:
#!/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脚本⽂件批量创建修改内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论