Aquí hay bash
una línea amigable que copia cualquier carpeta que tenga un jpg en una carpeta llamada copia de seguridad mientras mantiene la estructura del directorio
mkdir backup; for folder in $(find. -type f -name '*.jpg' | sed -r 's|/[^/]+$||' |sort |uniq); do cp -r --parents $folder backup; done
Primero crea una carpeta backup
vacía, luego el comando find
busca todos los archivos en el directorio actual que terminan con .jpg
. Los comandos sed
, sort
y uniq
recortan la salida de búsqueda a solo los nombres de directorio y eliminan las repeticiones. Finalmente, el cp -r --parents
en un bucle copia las carpetas de forma recursiva mientras crea los archivos que faltan.
puede moverse usando sed -r
usando la bandera -printf
con find
así
mkdir backup; for folder in $(find. -type f -name '*.jpg' -printf "%h\n" |sort |uniq); do cp -r --parents $folder backup; done
si su find
no es compatible con -printf
, puede intentar usargrep
mkdir backup; for folder in $(find. -type f -name '*.jpg' | grep -o "\(.*\)/" |sort |uniq); do cp -r --parents $folder backup; done
Да, неплохо было бы проверить оперативную память на другом компьютере. Также проверьте журналы, если что-то отключено/ошибка в BIOS. Вы можете использовать dmidecode
или lshw
, чтобы получить более подробную информацию об оборудовании.