• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Snak med

Opret dig!

Af slettet_180226 | 31.05.2009 00:36

Sammentælling af linier

Hjælp generelt
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:
find . -name '*.php' -type f -exec wc -l {} \;
  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer8

# 1

16 år 9 måneder siden

Permalink

Indsendt af divineant den 31. maj 2009 kl. 00:47

Permalink

Re: Sammentælling af linier

Problemet er at du kører wc på hver enkelt fil istedet for dem alle på en gang.

wc -l $(find . -iname '*.php' -type f | grep -v dontcountme.php )


  • Log ind eller opret dig for at tilføje kommentarer

# 2

16 år 9 måneder siden

Permalink

Indsendt af slettet_180226 den 31. maj 2009 kl. 00:52

Permalink

Re: Sammentælling af linier

Det lyder umiddelbart en del mere fornuftigt :) Men jeg får dog denne meddelse: -bash: /usr/bin/wc: Argument list too long
  • Log ind eller opret dig for at tilføje kommentarer

# 3

16 år 9 måneder siden

Permalink

Indsendt af divineant den 31. maj 2009 kl. 01:11

Permalink

Re: Sammentælling af linier

Hmm, så må vi heller gå tilbage til din første metode, med lidt modifikationer

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

  • Log ind eller opret dig for at tilføje kommentarer

# 4

16 år 9 måneder siden

Permalink

Indsendt af slettet_180226 den 31. maj 2009 kl. 01:30

Permalink

Re: Sammentælling af linier

Det virkede - intet mindre end fantastisk.
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).
  • Log ind eller opret dig for at tilføje kommentarer

# 5

16 år 9 måneder siden

Permalink

Indsendt af divineant den 31. maj 2009 kl. 01:32

Permalink

Re: Sammentælling af linier

og den metode var jo så unødvendig kompleks at jeg blev nød til at kigge lidt på mulighederne i find, hvor jeg kom frem til at du næsten havde den rigtig i første forsøg.

find . -name '*.php' -type f -exec wc -l {} +

Så mistede vi dog muligheden for at fjerne uønskede filer.
  • Log ind eller opret dig for at tilføje kommentarer

# 6

16 år 9 måneder siden

Permalink

Indsendt af divineant den 31. maj 2009 kl. 01:34

Permalink

Re: Sammentælling af linier

Du smider bare flere | grep -v efter den inden den går ind i løkken.
Der er vist også en anden måde hvorpå man kan give grep flere søgeord, men den kan jeg ikke huske
  • Log ind eller opret dig for at tilføje kommentarer

# 7

16 år 9 måneder siden

Permalink

Indsendt af slettet_180226 den 31. maj 2009 kl. 01:37

Permalink

Okay - mange tak.
Hvad gør

Okay - mange tak.

Hvad gør plus-tegnet i slutningen i #5?
  • Log ind eller opret dig for at tilføje kommentarer

# 8

16 år 9 måneder siden

Permalink

Indsendt af divineant den 31. maj 2009 kl. 01:51

Permalink

Re: Sammentælling af linier

Jeg er faktisk ikke helt sikker på det +.
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.

  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

OpenShot 3.5 tager et spring fremad inden for ydeevne, AI og videoredigering 0
tst 0
Linux Fanpakke til LUG'er og foreninger 0
KDE Plasma 6.6 skrivebordsmiljø udgivet 0
GRUB 2.14 introducerer understøttelse af EROFS, forbedringer til Btrfs og LVM 0

Seneste aktivitet

Stor sejr for open source, da Tyskland støtter åbent dokumentformat 2
(U)hyggen breder sig 5
youtube-tui: Nyd YouTube fra terminalen som en professionel 5
Lukker og slukker 8
BigLinux 6
Det engang så elskede PCLinuxOS er tilbage - og det er stadig en fantastisk Windows erstatning 1
rsync og filsystem 6
Mousam er en detaljeret desktop vejrapp til Linux 1
Hjælp til Handbrake - ingen dk-undertekster 1
luckyBackup 2
GIMP 30
Pinegrow på Debian 13 ? 4
Openmediavault 1
E-mail blues 9
Driver til min scanner? 5
Printer Epson ET-2865 problem 16
Sudo 7
Thunderbird filvedligeholdelse 2
Debian 13.3.0 8
Linux Mint 22.3 - hvornår opdatere? 10

© 2026 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !