Ich habe in dieser Situation 2 Ordner /ParentFolder/FolderName/Files.mp4
und /Mount/FolderName/Files.mp4
.
Im Wesentlichen /ParentFolder
muss alles in alle Ordner mit dem gleichen Namen in ersetzen /mount
. Ich muss ACDCLI für die eigentliche Kopie verwenden, also muss ich diese zuerst entfernen, indem ich einen beliebigen Ordnernamen aus /ParentFolder/*
und aufruferm -rf /mount/"FolderName"
Wenn es nur ein Ordner wäre, wäre es einfach, aber ich weiß nicht genau, wie ich es sagen soll: Alle Ordnernamen aus X abrufen und löschen, wenn sie in Y vorhanden sind.
Antwort1
Das folgende Bash-Skript sollte das tun, was Sie beschreiben. Sie sollten echo
beim ersten Ausführen ein vor rm
das setzen, um sicherzugehen, dass es das Erwartete tut.
#!/bin/bash
if test -d "$1"
then
from="$1"
else
echo "could not find source directory \`$1'" >&2
exit 1
fi
if test -d "$2"
then
to="$2"
else
echo "could not find destination directory \`$2'" >&2
exit 1
fi
for fromdir in "${from}"/*/
do
todir="${to}${fromdir#"${from}"}"
if test -d "${todir}"
then
rm -rf "${todir}"
fi
done
Geben Sie dem Skript einen passenden Namen wie acd_prep
und verwenden Sie , chmod +x acd_prep
um es ausführbar zu machen. Für die Beispielordner in der Frage würden Sie das Skript dann als ausführen acd_prep /ParentFolder /Mount
.