Sammentælling af linier
Jeg vil gerne tælle alle linier i filer med endelsen .php rekursivt i et directory. Dette har jeg egentligt fundet ud af, men lige pt outputter den linie-antal for hver fil og filens navn - jeg kunne så godt tænke mig få disse talt sammen. Er dette muligt, og i så fald hvordan?
Og lige hurtigt et andet spørgsmål - er det muligt at få regex i find til at udelukke bestemte mapper og filer som er forudbestemt?
Her er den kommando jeg har indtil videre:
Og lige hurtigt et andet spørgsmål - er det muligt at få regex i find til at udelukke bestemte mapper og filer som er forudbestemt?
Her er den kommando jeg har indtil videre:
find . -name '*.php' -type f -exec wc -l {} \;
Kommentarer8
Re: Sammentælling af linier
wc -l $(find . -iname '*.php' -type f | grep -v dontcountme.php )
Re: Sammentælling af linier
Re: Sammentælling af linier
find . -name '*.php' -type f -exec wc -l {} \; | grep -v dontcountme.php | while read line file; do let c=$c+$line; echo $c ; done | tail -n1
Re: Sammentælling af linier
Hvis jeg lige hurtigt kan nå et spørgsmål mere på faldrebet, hvorledes kan jeg så tilføje flere 'dontcountme'? Jeg bruger lige pt følgende ved grep -v /history/ men vil gerne have ignoreret /future/ også. Jeg kan ikke umiddelbart finde noget i manualen til grep - tænker dog jeg skal ud i noget elementært bash (som jeg desværre ikke endnu er så god til).
Re: Sammentælling af linier
find . -name '*.php' -type f -exec wc -l {} +
Så mistede vi dog muligheden for at fjerne uønskede filer.
Re: Sammentælling af linier
Der er vist også en anden måde hvorpå man kan give grep flere søgeord, men den kan jeg ikke huske
Okay - mange tak.
Hvad gør
Hvad gør plus-tegnet i slutningen i #5?
Re: Sammentælling af linier
Min første tanke da jeg faldt over den, var at den selvfølgelig blot adder værdierne samme, men det giver jo ikke mening idet det er wc som giver et samlet output. Så jeg vil egentlig tro at den virker på samme måde som den jeg skrev i #1.