Copie archivos de un directorio a otro mientras crea una nueva carpeta para cada archivo, con el nombre del archivo

Copie archivos de un directorio a otro mientras crea una nueva carpeta para cada archivo, con el nombre del archivo

Esta es la primera vez que hago una pregunta. Estoy intentando utilizar cada vez más la línea de comandos, pero este problema está más allá de mis habilidades.

Quiero hacer una transferencia de archivos de varias partes.

1) Quiero tomar varios archivos file_1.md, file_2.mdetc., original_foldery copiarlos atarget_folder_master

2) Quiero tomar cada archivo, crear una nueva carpeta basada en el nombre de cada archivo, por ejemplo, debería haber una carpeta con el nombre file_1etc dentrotarget_folder_master

3) Quiero poder copiar cada archivo en la carpeta con el nombre correspondiente

4) y luego cambie el nombre de cada archivo en su carpeta de destino de su nombre original a index.md, por ejemplo, file_1.mddebe cambiarse el nombre index.mdcon la ruta final~/file_1/index.md

Mi esperanza es que todo esto esté automatizado.

Respuesta1

Prueba esto:

for file in *.md; do
  mkdir "/path/to/target_folder_master/${file%.*}"
  mv "$file" "/path/to/target_folder_master/${file%.*}/index.md"
done

información relacionada