0
点赞
收藏
分享

微信扫一扫

【shell基础】替换后缀名复制同名文件

飞鸟不急 2022-07-13 阅读 72

 

script

# copy images with same name as json file to one directory
dir=/home/xxx/output_tfl_20220630
mkdir $dir/image
for file in $dir/*.json; do
# echo $file
pngname=${file/%.json/.png} # OK
newname=${file%.json}.png # OK
cp $pngname $dir/image
# echo $pngname
done

 解析

脚本最重要的部分是

pngname=${file/%.json/.png}

这部分的含义就是将字符串file的.json后缀替换成.png,还有一种写法就是匹配删除,然后在大括号后面加上要替换成的部分,

newname=${file%.json}.png

如:${file%.json}.png,这个就是将字符串的.json后缀修改为.png。

两种方法都可以的。

注意,后来发现复制的文件有可能会发生变化,比如复制一张图像,原图像是正常的,1.5M大小,复制之后发现文件内容有损坏,大小是1.2M。

 

举报

相关推荐

0 条评论