gpt4 book ai didi

linux - 从每个目录复制 png,如果 png 大于 600x600?

转载 作者:太空狗 更新时间:2023-10-29 11:26:36 24 4
gpt4 key购买 nike

我有一个目录树,每个目录都有 png 文件。

我想从每个目录复制分辨率为 >(600x600) 的那些 png 文件。

使用以下命令我可以创建一个脚本来执行此操作,但它会相当长。

此命令将列出水平像素数大于 600 的 png。

for f in *.png;do if [ `file $f | cut -f5 -d\ ` -gt 600 ] ; then echo $f;fi;done

此命令将找到所有目录并将 file.png 复制到它们

find <basedir>/ -type d -exec cp file.png '{}' \;

有人知道解决这个问题的好方法吗?

更新:这就是我得到的。

for f in $(find . -type f -name *png -print0); do
identify -format '%w %h' $f|awk '{print $1 $2}'

# if [$1 -gt 600 && $2 -gt 600]; then
cp $f ~/600x600
fi

done

如何在 if 语句中使用 awk$1$2

最佳答案

我不太确定是否理解这个问题,但我猜您想将大小大于 600x600 的文件复制到特定目录中,然后您可以执行以下操作:

for f in *.png;do if [[ `file $f | cut -f5 -d\ ` -gt 600 ]] ; then 
echo $f;fi;done|nawk '{print "cp "$1" my_specific_directory"}' | bash

其中 my_specific_directory 是您要将 png 复制到的目录...

关于linux - 从每个目录复制 png,如果 png 大于 600x600?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6011795/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com