|
|
|
|
Google Site
|
|||||||
| Forums | Registrer | Blog | Man Sider | Forum Regler | Links | Albums | FAQ | Brugere | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her. |
![]() |
|
|
Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|||
|
Find tomme mapper
I aktuelle mappe, er der mange undermapper, undermappe's undermapper ... under den. Hvordan kan jeg finde ud af den tomme mapper med nogen filer i den. Jeg behøver kun toppen mappelisten. For eksempel, Jeg har mapper som nedenfor: Code:
a/b/c a/b/x/x.txt a/s a/s/y Jeg har brug for at få mappen a / s, men ikke a / b / c (fordi mappe b har fil), ikke a / b / x / x.txt (har filen i den), ikke a / s / y (fordi en / s er allerede på listen). |
| Sponsorerede links | ||
|
|
|
|||
|
Citat:
Synes jeg er nødt til at installere en GNU finde for at få det gjort. Min anden tanke er at installere Cygwin (som jeg allerede har, og finde kommandoen med-tom), kort Solaris føreren af SAMBA. Jeg kan se chaufføren i Windows Stifinder, men jeg kan ikke se chaufføren i cygwin. Enhver antydning om det? |
|
|||
|
Citat:
Men det betyder ikke rapporten de øverste mapper. I stikprøven, Code:
$ ls -1R| nawk '/^\./{s=$0;getline;if($0==""){print s}}'
./a/b:
./c:Jeg har mere end tusind mapper under den mappe, jeg har brug for at få den øverste mappe listen over Code:
./a (because under folder a, only have subfolder b, no any files.) ./c ---------- Post opdateret kl 10:02 ---------- Forrige opdatering var på 10:00 ---------- samme fejl, ikke støtte-tomme. ---------- Post opdateret kl 10:12 ---------- Forrige opdatering var på 10:02 ---------- Få det selv Code:
for i in `ls -l |awk '{if ($1~/^d/) print $9}'`
do
if [ "$(find $i -type f)" = "" ] ; then
echo $i "is empty folder"
fi
doneMen hvis den øverste mappenavnet omfatter plads, vil scriptet ikke finde det. |
|
|||
|
ikke får et filnavn, som den bruger ls -1 og udskrive kolonne 9. hvis du har mellemrum i filnavnet, vil du ikke få det korrekte filnavn. Brug finde stedet, så er der noget at regne inde i hver mappe. Pseudocode Code:
find . -type d | while read DIR do var=`ls $DIR | wc -l ` if var is 0 then echo "empty" fi done |
| Sponsorerede links |
|
|
![]() |
| Bogmærker |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|
Mere UNIX og Linux Forum Emner du måske kan finde Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Last Post |
| Fjerne tomme mapper ved hjælp af ord som 'find' | detto | UNIX for dummyer Spørgsmål & svar | 5 | 04-21-2008 10:24 PM |
| Fjerne tomme mapper ved hjælp af "Find" command | BIOT | UNIX for dummyer Spørgsmål & svar | 3 | 03-25-2008 10:43 PM |
| hvordan man finder tomme mapper uden brug-tom | Lasse | UNIX for dummyer Spørgsmål & svar | 7 | 01-17-2008 02:30 AM |
| zip redebygningsmateriale tomme mapper | groundlevel | UNIX for dummyer Spørgsmål & svar | 0 | 09-29-2006 12:08 AM |