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。
完