Я новичок в bash и пытался переименовать все файлы в каталоге в их контрольную сумму md5 следующим образом.
r@r:~g$ sh
$ for F in *; do
> mv "$F" "$(md5sum "$i")"
> done
r@r:~/g$ ls
'd458d56dd4ab8c2b335da66e0bcab924 nRUNO5wt3JRN3pBt.mp4'
Я сделал опечатку, и строка mv "$F" "$(md5sum "$i")"
должна быть mv "$F" "$(md5sum "$F") "
, если я не ошибаюсь. Теперь все файлы в папке отсутствуют, кроме одного.
Файлы удалены или куда-то перемещены? Есть ли способ их восстановить?
При попытке воспроизвести ситуацию в папке с файлом "1.png" в ней происходит следующее.
r@r:~/a$ sh
$ for F in *; do
> mv "$F" "$(md5sum "$i")"
> done
md5sum: '': No such file or directory
mv: cannot move '1.png' to '': No such file or directory