Kopieren Sie Dateien von einem Verzeichnis in ein anderes und erstellen Sie dabei für jede Datei einen neuen Ordner, der nach der Datei benannt ist

Kopieren Sie Dateien von einem Verzeichnis in ein anderes und erstellen Sie dabei für jede Datei einen neuen Ordner, der nach der Datei benannt ist

Dies ist das erste Mal, dass ich eine Frage stelle. Ich versuche seit Kurzem immer häufiger, die Befehlszeile zu verwenden, aber dieses Problem übersteigt meine Fähigkeiten.

Ich möchte eine mehrteilige Dateiübertragung durchführen.

1) Ich möchte mehrere Dateien usw. von nehmen file_1.mdund file_2.mdsie original_folderkopieren nachtarget_folder_master

2) Ich möchte für jede Datei einen neuen Ordner basierend auf dem Namen der jeweiligen Datei erstellen. Beispielsweise sollte es einen Ordner mit dem Namen file_1etc. geben innerhalbtarget_folder_master

3) Ich möchte jede Datei in den entsprechend benannten Ordner kopieren können

4) und benennen Sie dann jede Datei in ihrem Zielordner von ihrem ursprünglichen Namen in um index.md, zum Beispiel sollte sie mit dem endgültigen Pfad file_1.mdumbenannt werdenindex.md~/file_1/index.md

Ich hoffe, dass das alles automatisiert abläuft.

Antwort1

Versuche dies:

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

verwandte Informationen