Mám tuto strukturu složek:
foo
`----> bar
Jak mohu extrahovat obsah bar do foo ?
Zkusil jsem mv -f bar/* . zevnitř foo .
-f, –síla | před přepsáním se neptat
ale dostávám „nepodařilo se přesunout bar/ajax na foo/ajax protože adresář není prázdný“
Jak to mohu vyřešit?
Přijatá odpověď:
mv přepíše soubory, ale odmítne přepsat adresáře . Neexistuje žádný příkaz, který by sloučil adresáře a odstranil zdrojové adresáře (což je pravděpodobně to, co chcete s mv ). Dokonce i rsync --remove-source-files ponechá prázdné adresáře.
Můžete použít kombinaci příkazů:
cp -a dev/. .
rm -r dev
který zkopíruje vše v dev do aktuálního adresáře a poté odstraní dev adresář.
Nebo:
rsync -a --remove-source-files dev/ .
find dev -depth -type d -exec rmdir {} ;
který používá rsync přesunout všechny soubory a poté smaže prázdné adresáře, které po nich zůstaly.