Ich möchte eine Datei in alle Unterordner eines Ordners kopieren. Wie kann ich das mit der Kommandozeile machen?
Ich möchte eine Datei in alle Unterordner eines Ordners kopieren. Wie kann ich das mit der Kommandozeile machen?
Antworten:
So legen Sie eine Datei in allen Unterordnern im aktuellen Arbeitsverzeichnis ab (und möglicherweise in deren Unterordnern, je nachdem, was Sie tun möchten)
Dadurch wird die Datei in alle Unterordner verschoben, jedoch nicht in ihre Unterordner:
for d in */; do cp water.txt "$d"; done
Dadurch wird die Datei water.txt
(ändern Sie alle Instanzen von water.txt in den zu kopierenden Dateinamen) in allen Unterordnern und deren Unterordnern abgelegt
for i in ./* # iterate over all files in current dir
do
if [ -d "$i" ] # if it's a directory
then
cp water.txt "$i" # copy water.txt into it
fi
done
Info von diesem linuxquestions Thread
Sie könnten diesen Einzeiler verwenden:
find <target-dir> -type d -exec cp <the file> {} \;
begrenzen Sie die Tiefe auf 1 -> nur die unmittelbaren Verzeichnisse
find <target-dir> -type d -maxdepth 1 -exec cp <the file> {} \;