The UNIX and Linux Forums  
Ciao e benvenuto da parte degli Stati Uniti al UNIX e Linux Forum! Grazie per la visita ed unirsi alla nostra Comunità Globale.

Go Back   UNIX e Linux Forum > Inizio Forum > UNIX for Dummies Domande & Risposte
.
google unix.com



UNIX for Dummies Domande & Risposte Se non sei sicuro dove pubblicare un UNIX o Linux domanda, posta da qui. Tutti i neofiti di Linux e UNIX benvenuto!

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
Rimuovere le righe vuote dhanamurthy Shell scripting e di programmazione 3 05-08-2008 01:52 AM
Eliminare le righe vuote ... shashi_kiran_v UNIX for Dummies Domande & Risposte 4 09-06-2005 12:39 AM
Rimuovere le righe vuote osymad UNIX for Dummies Domande & Risposte 4 08-27-2005 06:41 AM
eliminare righe vuote o linee con spazi solo vascobrito UNIX for Dummies Domande & Risposte 3 01-13-2004 07:36 AM
Bianche Lines - Fine del file saabir Shell scripting e di programmazione 4 07-15-2003 11:55 AM

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 Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 05-23-2007
kthatch kthatch is offline
Utente Registrato
  
 

Iscriviti Data: marzo 2007
Interventi: 28
Come contare le linee - ignorare righe vuote e linee commentate

Qual è il comando per contare le linee in un file, ma ignorare le righe vuote e commentato le linee?

Ho un file con 4 sezioni in essa, e voglio che ogni sezione deve essere contato, non comprese le righe vuote e commenti ... e poi ammontavano alla fine.

Ecco un esempio di ciò che vorrei la mia uscita di simile a questo:

# # # # commento
line1
line2
Line3
Line4
Line5
Line6

6 linee

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

11 linee

# # # # commento
line18
line19
line20
line21
line22

5 righe

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

13 linee

Totale di 35 linee

La ringrazio in anticipo per il vostro aiuto!
  #2 (permalink)  
Old 05-23-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Utente Registrato
  
 

Join Date: Sep 2006
Interventi: 2.518
Codice:
awk '!/^#/ && !/^$/{c++}END{print c}' "file"
  #3 (permalink)  
Old 05-23-2007
reborg's Avatar
reborg reborg is offline Forum Staff  
Administrator
  
 

Iscriviti Data: marzo 2005
Luogo: Irlanda
Messaggi: 4.209
Citazione:
Originalmente inviato da ghostdog74
Codice:
awk '!/^#/ && !/^$/{c++}END{print c}' "file"
che un po 'di estendere (testato):

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

Ultimo a cura di reborg; al 05/23/2007 08:17 PM..
  #4 (permalink)  
Old 05-24-2007
matrixmadhan matrixmadhan is offline Forum Advisor  
Technorati Master
  
 

Iscriviti Data: marzo 2005
Location: nodo foglia in B + tree
Messaggi: 2.952
molto più semplice! :)
Codice:
egrep -cv '#|^$' fielname
  #5 (permalink)  
Old 05-24-2007
drl's Avatar
DRL drl is offline Forum Advisor  
Utente Registrato
  
 

Iscriviti Data: aprile 2007
Località: Saint Paul, MN USA / BSD, CentOS, Debian, OS X, Solaris
Interventi: 707
Ciao, kthatch.

Hai fatto un ottimo lavoro di dirci come dovrebbe apparire l'output.

Tuttavia, lei non ha specificato come le sezioni sono separate le une dalle altre, né ciò che si considera un commento - una stringa all'inizio di una riga, una stringa in un qualsiasi luogo linea, ecc

Vi è uno standard di utilità nl che conosce sezioni:
Citazione:
-d, - delimiter \u003d sezione-CC
CC utilizzare per la separazione logica pagine
estratto da uomo nl
Vi è anche csplit, Che può dividere un file in pezzi, basato sulla presenza di una espressione regolare.

Molte delle soluzioni offerte sono probabilmente adattabile a qualunque sia il vostro è un formato di file, ma si possono ottenere ulteriori suggerimenti sul punto se si è più precisi ... cheers, DRL
  #6 (permalink)  
Old 05-24-2007
kthatch kthatch is offline
Utente Registrato
  
 

Iscriviti Data: marzo 2007
Interventi: 28
Ho provato a ciascuno di questi suggerimenti e non lavorato.

Risultati:

# egrep-cv'#|^$' active_servers
visualizzato questo totale, ma solo sullo schermo, e non nel file

# awk'!/^#/ & & !/^$/{ c + +) END (print c) 'active_servers
Idem come sopra,

# awk'!/^[ \ t ]*(#|$)/ (c + +;) ct + + / # / c & & (printf "% s \ n \ n \ n% s", c, $ 0, c \u003d 0) FINE ct (print) 'active_servers
awk: errore di sintassi vicino la linea 1
awk: salvataggio vicino fuori linea 1

Per fornire maggiori dettagli, ho uno script che produce l'output in precedenza (nel mio post originale) di un file - meno le somme che sono in cerca di aiuto. Quando mi riferisco ai commenti, voglio dire che le linee sono preceduti da # # e le sezioni sono separate da una riga vuota a causa di questo "sed '/ presente / (x, p; x;)' "nel mio script.

Grazie ancora! Altri suggerimenti sarebbe il benvenuto!
Closed Thread

Segnalibri

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 03:31 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0