gpt4 book ai didi

bash - 我通过批量mv丢失了很多文件,这些文件都到达了同一目的地。我的文件还在磁盘上吗?

转载 作者:行者123 更新时间:2023-11-29 09:32:26 25 4
gpt4 key购买 nike

我试图将图像从一个文件夹批量移动到由图像大小(px)命名的新文件夹。我用这个命令来做:

awk '{system("mv "$1 " ./"$4)}' sizes.log

sizes.log的内容有很多行,格式如下:
f122441728.jpg        Exif.Photo.PixelXDimension                   Long        1  4032

我现在痛苦地意识到这种方法的缺点。我没有测试我的命令,而是将许多文件移动到文件“1”中,因为在size.log的所有行中,列$4都是“1”。
我意识到有些东西关闭了,于是中止了命令,但是大约500张图片被删除了。
我不知道mv是怎么工作的,但据我所知,这是发生在:
在每一行中,列$1中的文件被重命名为“1”,但图像文件的数据块仍保留在磁盘上。
这个假设正确吗?
例如,我有机会用photorc恢复吗?
我不得不在另一台机器上重新组装一次突袭,但这是我以前碰到的运气。我在整理照片从另一个错误。。
编辑:
在我找到我的文件备份后(耶!)我重新审视了导致我犯错误的过程,并使用这些命令将我的文件排序到按图片大小命名的文件夹中。
identify -format "%f %w\n" *.jpg >> siz.log

awk '{system("mkdir ./"$2"/")}' siz.log

awk '{system("mv "$1 " ./"$2"/")}' siz.log

注意后面的斜线,这就是我以前惹上麻烦的地方。我错过了,没有收到来自mv的错误信息。

最佳答案

如果文件仍然存在并且没有被无意删除,尝试使用find命令递归地搜索根目录。这假设您有一些丢失文件的名称。例如,如果您知道其中一个文件名为abc.jpg,则可以按如下方式搜索:

find / -name "abc.jpg"

有关详细信息,请参见 find命令上的 this规范答案。

关于bash - 我通过批量mv丢失了很多文件,这些文件都到达了同一目的地。我的文件还在磁盘上吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55601868/

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