[LINUX]Bestanden verplaatsen / verwijderen via shell

Pagina: 1
Acties:

  • et36s
  • Registratie: Maart 2001
  • Laatst online: 08-02 17:03
Ik wil graag het volgende ik heb een lijst met directories op een harddisk die wil ik verplaatsen naar een 2e harddisk. Nu wil ik graag alleen de oudste 5 directories in 1x verplaatsen maar dat wilt dus niet lukken normaal doe ik:

mv /path/naar/dir/DIRNAME /path/waar/die/heen/moet/

en herhaal dat 5x maar ik wil dat graag in een x doen maar kom niet uit dat commando:

mv * `ls -t | tail -n 5` zoiets heb ik in gedachten maar dat klopt niet volgens mij. kan iemand mij op de juiste weg helpen?

hetzelfde geld voor het verwijderen van dirs + inhoud

rm -rf dirname werkt

maar hoe verwijder ik de laatste(oudste) 5 dirs ineens

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

als uit dit commando het juiste resultaat komt:
ls -t |tail -n 5
dan je kun de volgende oplossing gebruiken; een simpel for-loopje in bash:
code:
1
for d in `ls -t |tail -n 5` ; do mv $d /path/waar/die/heen/moet/ ; done

Daar kun je ook een `rm` neerzetten natuurlijk :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • Robtimus
  • Registratie: November 2002
  • Laatst online: 19:54

Robtimus

me Robtimus no like you

code:
1
2
3
4
for i in `ls -t | tail -n 5`
do
    mv $i <dest>
done
Dan moet je nog wel even kijken hoe dit omgaat met directories met spaties, ben even vergeten hoe je dat ook alweer oplost.
edit:
spuit 11

[ Voor 8% gewijzigd door Robtimus op 11-12-2005 14:40 ]

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • rvm
  • Registratie: November 2000
  • Niet online

rvm

$i tussen "" zetten ivm spaties in namen

  • et36s
  • Registratie: Maart 2001
  • Laatst online: 08-02 17:03
bedankt ik ga dat even proberen

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 19:54

Robtimus

me Robtimus no like you

code:
1
2
3
4
for i in "`ls -t | tail -n 5`"
do
    mv "$i" <dest>
done
Dus "" om zowel $i als het `ls` commando.
Wel eerst even testen met een echo he?

More than meets the eye
There is no I in TEAM... but there is ME
system specs

Pagina: 1