For at opnå samme output som "du -sh ./*" i C-Shell, men kun for undermapperne i den aktuelle mappe og uden at inkludere filer i rodmappen, kan du bruge følgende fremgangsmåde:
find
til at liste alle undermapper i den aktuelle mappe.du -sh
på hver af de fundne undermapper for at få størrelsen af deres indhold.Her er et eksempel på en C-Shell script, der gør dette:
#!/bin/csh
foreach dir (`find . -maxdepth 1 -type d ! -name '.'`)
du -sh $dir
end
Forklaring af scriptet:
find . -maxdepth 1 -type d ! -name '.'
: Finder alle mapper i den aktuelle mappe (.
) uden at gå dybere end én niveau (-maxdepth 1
) og ekskluderer den aktuelle mappe selv (! -name '.'
).foreach dir (`find ...`)
: Itererer over hver fundne mappe.du -sh $dir
: Udfører du -sh
på hver fundne mappe for at få størrelsen af deres indhold.Dette script vil give dig en liste over undermapperne i den aktuelle mappe og størrelsen af alt deres indhold, uden at inkludere filer i rodmappen.
Med Handyhand kan du nemt få hjælp til C-Shell scripting og filhåndtering. Opret din opgave gratis, og modtag bud fra dygtige freelancere på få minutter. Uanset om du har brug for assistance til at skrive scripts eller organisere filer, er Handyhand din løsning.