The UNIX and Linux Forums  
Hei og Velkommen fra til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.

Go Back   UNIX og Linux Forums > Top Forums > UNIX for Dummies SpørsmÃ¥l og svar
.
google unix.com



UNIX for Dummies Spørsmål og svar Hvis du er usikker på hvor du skal legge inn en UNIX-eller Linux-spørsmålet, legger den her. Alle UNIX og Linux newbies velkommen!

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
Fjerne tomme linjer dhanamurthy Shell programmering og Skripting 3 05-08-2008 02:52
Fjern tomme linjer ... shashi_kiran_v UNIX for Dummies Spørsmål og svar 4 09-06-2005 01:39
Fjern tomme linjer osymad UNIX for Dummies Spørsmål og svar 4 08-27-2005 07:41
slette tomme linjer eller linjer med mellomrom vascobrito UNIX for Dummies Spørsmål og svar 3 01-13-2004 07:36
Blank Lines - Slutt på filen saabir Shell programmering og Skripting 4 07-15-2003 12:55

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 05-23-2007
kthatch kthatch is offline
Registrert bruker
  
 

Bli Date: Mar 2007
Innlegg: 28
Hvordan telle linjer - ignorerer tomme linjer og kommentert linjer

Hva er kommandoen for å telle linjer på filer, men ignorerer blanke linjer og kommentert linjer?

Jeg har en fil med 4 seksjoner i det, og jeg vil hver del skal telles, ikke inkludert blanke linjer og kommentarer ... og utgjorde ved utgangen.

Her er et eksempel på hva jeg ønsker meg utgang til følgende:

# # comment # #
linje1
Linje2
Linje3
line4
line5
line6

6 linjer

# # comment # #
line7
line8
line9
line10
line11
line12
line13
line14
line15
line16
line17

11 lines

# # comment # #
line18
line19
line20
line21
line22

5 linjer

# # comment # #
line23
line24
line25
line26
line27
line28
line29
line30
line31
line32
line33
line34
line35

13 linjer

35 totalt linjer

På forhånd takk for hjelpen!
  #2 (permalink)  
Old 05-23-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Registrert bruker
  
 

Bli Dato: Sep 2006
Innlegg: 2537
Code:
awk '!/^#/ && !/^$/{c++}END{print c}' "file"
  #3 (permalink)  
Old 05-23-2007
reborg's Avatar
reborg reborg is online now Forum Staff  
Administrator
  
 

Bli Date: Mar 2005
Sted: Irland
Innlegg: 4211
Sitat:
Originally Posted by ghostdog74
Code:
awk '!/^#/ && !/^$/{c++}END{print c}' "file"
Ã¥ utvide det noe (testet):

Code:
awk '!/^[ \t]*(#|$)/ {c++; ct++} /#/ && c { printf "%s\n\n\n%s", c, $0; c=0} END { print ct}' file

Sist endret av reborg; 05-23-2007 kl 09:17..
  #4 (permalink)  
Old 05-24-2007
matrixmadhan matrixmadhan is offline Forum Advisor  
Technorati Master
  
 

Bli Date: Mar 2005
Sted: leaf node i B + treet
Innlegg: 2953
mye enklere! :)
Code:
egrep -cv '#|^$' fielname
  #5 (permalink)  
Old 05-24-2007
drl's Avatar
drl drl is offline Forum Advisor  
Registrert bruker
  
 

Bli Dato: april 2007
Beliggenhet: Saint Paul, MN USA / BSD, CentOS, Debian, OS X, Solaris
Innlegg: 711
Hei, kthatch.

Du gjorde en utmerket jobb med å fortelle oss hvor resultatet skal se ut.

Men visste du ikke spesifisere hvordan delene er skilt fra hverandre, eller hva du vurdere en kommentar - en streng i begynnelsen av en linje, en streng som helst i en linje, etc.

Det er et standard verktøy nl som vet om deler:
Sitat:
-d, - seksjon-delimiter \u003d CC
bruke CC for å skille logiske sider
utdrag fra man NL
Det er også csplit, Som kan dele en fil i stykker, basert på forekomsten av et regulært uttrykk.

Mange av løsningene som tilbys er trolig tilpasses uansett filformat er, men du kan få flere til-punkt forslag hvis du er mer presise ... cheers, DRL
  #6 (permalink)  
Old 05-24-2007
kthatch kthatch is offline
Registrert bruker
  
 

Bli Date: Mar 2007
Innlegg: 28
Jeg prøvde hver av disse forslagene, og heller jobbet.

Resultater:

# egrep-cv'#|^$' active_servers
dette vises det totale men på skjermen, ikke i filen

# awk'!/^#/ & & !/^$/{ c + +) END (print c) 'active_servers
samme som ovenfor

# awk'!/^[ \ t ]*(#|$)/ (c + +; ct + +) / # / & & c (printf "% s \ n \ n \ n% s", c, $ 0; c \u003d 0) END (print ct) 'active_servers
awk: syntaksfeil nær linje 1
awk: bailing ut nær linje 1

Å gi flere detaljer, har jeg et skript som produserer output ovenfor (i mitt opprinnelige innlegg) til en fil - mindre totalverdiene at jeg søker hjelp med. Når jeg henviser til kommentarer, jeg mener linjer som er forut med # # og delene er skilt med en blank linje som et resultat av dette "sed '/ dette / (x, p; x;)' "i manuset mitt.

Takk igjen! Flere forslag ville være velkommen!
Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er PÃ¥
Smilefjes er PÃ¥
[IMG] koden PÃ¥
HTML-koden Av
Pingbacks er PÃ¥
Refbacks er PÃ¥




Alle klokkeslett er GMT -4. NÃ¥ er klokken 11:26.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0