在意外格式化数据分区后运行PhotoRec恢复照片后,我留下了100个目录,其中包含恢复的图像。 使用身份命令,我能够找到所有感兴趣的照片(大于500x500)。 但是,当我使用 xargs 将其推送到 mv 命令时,我会拒绝权限!我正在使用 sudo !
sudo find . -iname "*.jpg" -type f -exec identify -format '%w %h %i' '{}' \; | awk '{if ($1>300 || $2>300) print $3}' | xargs -I '{}' mv '{}' /home/simon/decent_size/
输出:
mv: cannot move ‘./recup_dir.3042/f848232448.jpg’ to ‘/home/simon/decent_size/f848232448.jpg’: Permission denied
mv: cannot move ‘./recup_dir.3042/f848239136.jpg’ to ‘/home/simon/decent_size/f848239136.jpg’: Permission denied
mv: cannot move ‘./recup_dir.571/f703451808.jpg’ to ‘/home/simon/decent_size/f703451808.jpg’: Permission denied
mv: cannot move ‘./recup_dir.2771/f835113704.jpg’ to ‘/home/simon/decent_size/f835113704.jpg’: Permission denied
...
感谢您的帮助:)
答案 0 :(得分:1)
这是因为您的find
命令以root权限运行,而不是xargs
。
你想要这样的东西:
sudo find . -iname "*.jpg" -type f -exec identify -format '%w %h %i' '{}' \; | awk '{if ($1>300 || $2>300) print $3}' | sudo xargs -I '{}' mv '{}' /home/simon/decent_size/
我没有检查你的命令的逻辑,只是修复了“拒绝”的权限。问题