No tengo que mover las carpetas, solo los archivos.
Lo he intentado mv *pero este comando también mueve las carpetas.
command-line
files
mv
Archit
fuente
fuente

find ... -exec mv -t "$TARGET_DIR" -- '{}' +sería más seguro (en caso de$TARGET_DIRque no haya directorio o la coincidencia comience-) y más eficiente (porque no genera un nuevo subproceso para cada archivo coincidente).Creo que solo quiere mover sus archivos. Primero vaya a su directorio y use este comando, reemplace $ TARGET con su ruta de directorio de destino. Si desea copiar sus archivos, reemplácelos
mvporcp.si explico esto,
find . -type fsignifica seleccionar todos los archivos y-exec mv {} $TARGET \;ejecutar elmvcomando para todos los elementos seleccionados.La respuesta anterior tiene un error ... también contiene
mvtodos los archivos dentro de los subdirectorios. La solución rápida es el uso-maxdepth 1. Entonces no recursivamentemvarchivos dentro de subdirectorios. A continuación se muestra la correcta.fuente
-type fno previene la recurrencia.Enfoque de Python
Cuando se trata de archivos de forma recursiva,
findes el camino a seguir. En este caso particular, no es necesario, pero se puede usar con-maxdepth 1otras respuestas.El comando simple de Python también puede hacerlo. Aquí hay un ejemplo:
Cómo funciona esto:
fl=[f for f in os.listdir('.') if os.path.isfile(f)]itera sobre todos los elementos queos.listdir('.')encuentra y probamos si el elemento es un archivo que utiliza laos.path.isfile()función.Una vez que se
flcrea la lista de archivos, utilizamos lamap()función. Esta función toma dos argumentos: una función y una lista de elementos; realizará la función que le dimos por cada archivo en una lista. Por lo tanto, aquí tenemos unalambda x:shutil.move(x,'./a_directory')función anónima que moverá un archivo dado a un directorio dado, y luego tenemosflla lista de archivos que creamos.Para facilitar la lectura y el uso general, también podríamos reescribir esto como un script general de Python, que toma dos argumentos: directorio de origen y subdirectorio de destino.
Y el uso es así:
fuente
Si está usando zsh en lugar de bash, puede hacer esto:
Al
(.)final se llama calificador global; el.interior significa específicamente que solo coincida con los archivos normales.Hacer un
mv *(.) "$target"es rápido y práctico. Sin embargo, si está haciendo esto como parte de un script, es posible que desee considerar escribir algo como lo que sugirieron Frxstrem y David Forestermv -t "$target" -- *(.), para manejar mejor los casos de esquina que pueden surgir en el uso de otras personas.fuente
mv -t "$TARGET" -- "$SOURCE"/*(.)sería más seguro (en caso de que"$TARGET"comience con-un directorio o no). ¡Sin embargo, me gusta la solución zsh!Para mover todo excepto los directorios de un
source-dirdirectorio a otrodestination-dir, en Python:Ver Ejecutar archivo Python en la Terminal .
fuente
import mypackageantesfrom mypackage import ...from __future__importaciones especiales y lasfrom pathlibimportaciones ordinarias .import moduledebe ser el primero (que es la biblioteca y las importaciones de terceros)from module import objectdebe ser el último (local / biblioteca específica)Yo usaría
esto funcionará siempre que sus carpetas no tengan extensiones.
fuente