régi fájlok/könyvtárak áthelyezése hogyan?

Fórumok

Sziasztok!

Azt szeretném elérni, hogy az öt évnél régebbi (adott könyvtár alatt található) fájlok és könyvtárak átkerüljenek egy temp mappába. Ott majd tömörítem őket, és végül kitörlöm.

Eddig két problémába futottam bele:
1, ha van szóköz a fájl vagy könyvtár nevében, akkor azzal gondba van
2, a meglévő könyvtár struktúrát nem tartja meg, hanem mindent egy mappába dobál, ahol már előfordulhat fájlnév egyezőség is

a sok próbálkozásomból kettő:
1, find /honnan/ -mtime +1825 -type f -print > list.txt
tar -cvf /hová/ArchiveFiles.tar `cat list.txt`

2, find /honnan/ -type f -mtime +1825 -exec mv -t /hova/ {} \;

Van valakinek erre működő megoldása?

Előre is köszönöm!

Hozzászólások

ha a lista jo, akkor:

tar -cvf /hová/ArchiveFiles.tar -T list.txt

Ez?


honnan=...
hova=...
cd $honnan
for file in `find . -mtime +1825 -type f `
do
    dir="${file%/*}"
    [ -d "$dir" ] || mkdir "$dir"
    mv "$file" $hova/"$dir"/
done

Egy masik lehetoseg, hogy az elso probalkozasod ket parancsa koze beszursz egy lepest, ami idezojeleket rak a sorok elejere es vegere a fajlban. Akar seddel, akar egy for ciklussal, mint a fenti.