Je souhaite annuler une commande de déplacement en replaçant tous les fichiers d'un dossier ("MySourceDir") dans les chemins correspondants spécifiés dans a. fichier txt ("ListOfFilePaths.txt).Déplacer plusieurs fichiers d'un dossier vers la liste des répertoires (Annuler une commande de déplacement)
pour exemple .:
MySourceDir
File1.txt
File2.txt
File3.txt
.
.
.
J'ai un fichier texte contenant les chemins de fichiers pour chacun de ces fichiers, ce qui indique les répertoires qu'ils étaient à l'origine et donc, le besoin être ramené à.
ListOfFilePaths.txt
/path/to/dirA/File1.txt
/path/to/dirB/File2.txt
/path/to/dirC/File3.txt
Je pourrais probablement le faire de deux façons. Ecrire une boucle à 1) grep le chemin du répertoire pour chaque fichier, puis le déplacer vers le chemin du répertoire grepped correspondant OU 2) supprimer la partie "File # .txt" du chemin du répertoire, puis faire une commande mv pour chaque fichier dans le liste telle que le nième fichier est déplacé vers le nième répertoire.
Dans les deux cas, je ne suis pas familier avec l'écriture de boucles dans bash, donc toute aide serait très appréciée! (De même, apprécierions également une commande pour copier ces fichiers dans le dossier d'origine au lieu de les déplacer, en gardant l'horodatage inchangé :-))
simple serait d'utiliser un bon éditeur de texte qui offre la sélection de blocs et l'entrée de plusieurs lignes. Ensuite, vous pouvez simplement convertir ce fichier en un script contenant une commande mv par ligne. Quelque chose que vous pouvez contrôler et vérifier. Pas de boucles, rien d'extraordinaire, tu sais ce que tu fais. – arkascha