Скопируйте все папки, содержащие файл (ы) с заданным расширением

Не настолько вредоносны, как, возможно, daft.

дизайнеры настолько полны собственного видения, что не понимают того, что делает системы типа POSIX великолепными.

«Те, кто не понимает Unix, обречены изобретать его заново, плохо».

          Henry Spencer
-121--37160-
sed -ne\$= files...

Просто дайте sed столько имен файлов, сколько вы хотите вместо файлов... и, когда он прочитает все из них, он сообщит = номер строки самого $ последнего на своем входе.

-121--84408-

Я нашел свою проблему. Как-то я создал ярлык, и 2 копии. Я удалил ярлык и обе копии. Проблема исправлена.

0
23.02.2018, 20:13
2 ответа

Aquí hay bashuna 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 backupvacía, luego el comando findbusca todos los archivos en el directorio actual que terminan con .jpg. Los comandos sed, sorty uniqrecortan la salida de búsqueda a solo los nombres de directorio y eliminan las repeticiones. Finalmente, el cp -r --parentsen un bucle copia las carpetas de forma recursiva mientras crea los archivos que faltan.

puede moverse usando sed -rusando la bandera -printfcon findasí

mkdir backup; for folder in $(find. -type f -name '*.jpg' -printf "%h\n" |sort |uniq); do cp -r --parents $folder backup; done

si su findno 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
0
28.01.2020, 04:30

Para encontrar todos los archivos con la extensión .py, esto debería funcionar en OS X shells:

find. *.py -print0 | xargs -0 -I{} cp -r {} /some/dir/name/

Nota:

  • find -print0imprime archivos terminados con un carácter nulo en lugar de una nueva línea, y xargs -0se usa para la entrada en ese formato. Esto es para manejar mejor los nombres de archivo y las rutas que tienen espacios u otros espacios en blanco, lo que de otro modo suele ser un dolor de cabeza.
  • OS X usa diferentes versiones de findy cpque Linux/GNU, así que mientras este ejemplo funcionaría con las utilidades GNU, hay muchos ejemplos o respuestas para preguntas similares que usan las utilidades GNU no funcionan en OS X.
0
28.01.2020, 04:30

Теги

Похожие вопросы