• 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 1 måned 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 1 måned 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 1 måned 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 1 måned 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 1 måned 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 1 måned 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 1 måned 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 1 måned 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

llumos Unix-operativsystem, 0
Den er go 0
14. februar = I Love Free Software Day 0
Lokal fil-deling - for de dovne. 0
Linux fra begynder til professionel af O'Reilly 0

Seneste aktivitet

PCLinuxOS 30
den er sjov 3
Reserve kernel og btrfs 3
En snak om Linux-kompatibel software 12
"Intet realistisk alternativ" - mig i r*ven 17
Open source events i danmark? 3
Virtuel maskine? 4
Gode anmeldelser Zorin OS 17.3 8
Open Source-eksperimentet 5
Nulstilling af adgangskode 6
Ingen Mint 5
Linux App Store Flathub når 3 milliarder downloads 2
Digitaliseringsministeriet sætter gang i pilotprojekt om digital suverænitet 3
Mest sikker webbrowser 5
Firefox 2
Privatbeskeder 7
Backup/synkronisering? 3
BigLinux 5
Chatgpt satire 1
Læsning af databasefil i Firefox 2

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !