Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: <solved>bestanden tellen in script  (gelezen 2310 keer)

Offline speculoos

  • Lid
<solved>bestanden tellen in script
« Gepost op: 2012/07/07, 23:40:09 »
beste forum,

situatie:
een map met 6 bestanden erin
ls |wc -l
geeft 6, dus ok, maar:

ls -R |wc -l
geeft 7, dat is al minder ok, bovendien:

maak een map aan in die map, zelfs zonder bestanden,
ls -R |wc -l
geeft dan ineens 10, helemaal niet meer ok dus,

ik neem aan dat . en .. meegerekend worden, echter het toevoegen van de -A optie helpt helemaal niet
de bedoeling is om een eigen log op de zetten waarin bron en doel worden vergeleken na een backup
is er een manier om daaromheen te komen?
« Laatst bewerkt op: 2012/07/08, 14:45:15 door speculoos »

Offline Bloom

  • Lid
Re: bestanden tellen in script
« Reactie #1 Gepost op: 2012/07/07, 23:54:57 »
Om twee directories te vergelijken doe je gewoon dit:
diff -qr BRON DOEL|sort >vergelijk.log

De opdracht vergelijkt alle bestanden in de twee directory's met elkaar en de output is een lijst van alles wat verschillend is, alfabetisch gesorteerd (als je dat laatste niet wenst, laat dan de |sort weg) Deze output wordt opgeslagen in vergelijk.log.

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: bestanden tellen in script
« Reactie #2 Gepost op: 2012/07/08, 05:26:39 »
Als het om het tellen gaat kan je beter werken met find, dat geeft meer controle en opties.
find /dir/  -maxdepth 1 -type f |wc -l
Als je ook de onderliggende dirs wil meenemen haal je -maxdepth 1 weg.

Voor het vergelijken is diff inderdaad wel het handigste, evt. kan je ook wel iets maken via rsync.

Offline speculoos

  • Lid
Re: bestanden tellen in script
« Reactie #3 Gepost op: 2012/07/08, 14:44:18 »
ik zie nu inderdaad ook dat
find en diff
de betere tools daarvoor zijn, ik zal ze beide meenemen in het geheel

Bedankt Johan en Bloom, dankzij jullie tips kan  ik het zaakje heel  goed afwerken!