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 > Shell scripting e di programmazione
.
google unix.com



Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
Parse XML elenco compito di creare ogni file task.xml Missi Shell scripting e di programmazione 3 11-11-2008 02:20 PM
commento e Decommentate unico compito di molteplici attività madhusmita Shell scripting e di programmazione 9 06-18-2008 09:42 AM
Operatori aritmetici filda UNIX for Dummies Domande & Risposte 0 06-13-2008 12:55 AM
Posso utilizzare wc-l aritmetica con espressione? lalelle Shell scripting e di programmazione 3 08-11-2007 06:44 PM
aritmetica in ksh amon Shell scripting e di programmazione 12 02-05-2007 02:43 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 02-11-2009
Marcelino marcelino is offline
Utente Registrato
  
 

Iscriviti Data: febbraio 2009
Interventi: 4
sed o awk compito di aritmetica

Ho file con questo tipo di formato

01.02.09 08:30
bob
sarimah
marchio

01.04.09 07:00
bob
sarimah
marchio
tom

Voglio contare i nomi dopo la data / ime linea (01.02.09 08:30) e di aggiungere che il numero dopo il momento come questo

01.02.09 08:30 3
01.04.09 07:00 4

Non mi preoccupo di nomi dopo il conteggio in modo che io possa lasciare la striscia di loro o con sed se si semplifica il processo. Potrei anche reindirizzare l'output di data / ora e contare fino a seconda se il file rende più semplice. L'unica cosa che davvero serve è la data e l'ora e il numero sulla stessa linea.

Qual è lo strumento migliore per ottenere questo risultato e qualcuno può fornire un esempio?
  #2 (permalink)  
Old 02-11-2009
vgersh99's Avatar
vgersh99 vgersh99 is online now Forum Staff  
Moderatore
  
 

Iscriviti Data: febbraio 2005
Località: Boston, MA
Messaggi: 5.122
Codice:
nawk 'BEGIN {RS=FS=""} {print $1, NF-1}' myFile
  #3 (permalink)  
Old 02-11-2009
Marcelino marcelino is offline
Utente Registrato
  
 

Iscriviti Data: febbraio 2009
Interventi: 4
Quasi che

Nizza ...

Ho dovuto aggiungere spazio a "" e cambiare NF-1 a NF-2 per ottenere accurate contare per tutte le linee, tranne l'ultimo e il primo ingresso. NF-1 offre la corretta uscita per l'ultima riga contare solo. Sono 9.000 le linee che hanno così l'ultimo e il primo sbagliato questione non è significativa.

Il prossimo problema è che in uscita ha solo il tempo in linea come questa:

10:00 4
11:00 6

Ho bisogno della data di produzione. Attualmente, guardando attraverso il nawk manuale per capire come combinare l'ora e la data in uscita. Qualsiasi rapido suggerimenti? BTW, in esecuzione nawk 1.3.3 da Ubuntu 8,10
  #4 (permalink)  
Old 02-11-2009
summer_cherry summer_cherry is offline Forum Advisor  
Utente Registrato
  
 

Iscriviti Data: giugno 2007
Ubicazione: Pechino Cina
Messaggi: 1.088
ingresso:
Codice:
01.02.09 08:30
bob
jill
mark 

01.04.09 07:00
bob 
jill 
mark
tom

01.02.09 09:30
bob
jill
mark 
hj
gh
fm

01.04.09 10:00
bob 
jill 
mark
tom
aaa
bbb
ccc
uscita:
Codice:
01.02.09 08:30 3
01.04.09 07:00 4
01.02.09 09:30 6
01.04.09 10:00 7
codice:
Codice:
#!/usr/bin/perl
$/="\n\n";
open FH,"<a.txt";
while(<FH>){
	my @temp=split("\n",$_);
	print $temp[0]," ",$#temp,"\n";
}
Codice:
awk '/[0-9]*\.[0-9]*\.[0-9]* [0-9][0-9]:[0-9][0-9]/{
	a=$0
	next
}
/^ *$/{
	print a" "n
	n=0
	next
}
{
 n++
}
' a.txt

Ultimo a cura di summer_cherry; al 02/11/2009 11:54 PM..
  #5 (permalink)  
Old 02-12-2009
Marcelino marcelino is offline
Utente Registrato
  
 

Iscriviti Data: febbraio 2009
Interventi: 4
summer_cherry awk e perl script funzionato perfettamente così come sono ... Ho solo bisogno di capire come avete fatto ... grazie ...
  #6 (permalink)  
Old 02-12-2009
vgersh99's Avatar
vgersh99 vgersh99 is online now Forum Staff  
Moderatore
  
 

Iscriviti Data: febbraio 2005
Località: Boston, MA
Messaggi: 5.122
Citazione:
Originalmente inviato da Marcelino View Post
Nizza ...

Ho dovuto aggiungere spazio a "" e cambiare NF-1 a NF-2 per ottenere accurate contare per tutte le linee, tranne l'ultimo e il primo ingresso. NF-1 offre la corretta uscita per l'ultima riga contare solo. Sono 9.000 le linee che hanno così l'ultimo e il primo sbagliato questione non è significativa.

Il prossimo problema è che in uscita ha solo il tempo in linea come questa:

10:00 4
11:00 6

Ho bisogno della data di produzione. Attualmente, guardando attraverso il nawk manuale per capire come combinare l'ora e la data in uscita. Qualsiasi rapido suggerimenti? BTW, in esecuzione nawk 1.3.3 da Ubuntu 8,10
Hmmm .. molto strano ...
mar.txt:
Codice:
01.02.09 08:30
bob
jill
mark

01.04.09 07:00
bob
jill
mark
tom
nawk 'BEGIN (RS \u003d FS \u003d "") (print $ 1, NF-1)' mar.txt

uscita:
Codice:
01.02.09 08:30 3
01.04.09 07:00 4
Guarda bene a me. Pubblica il tuo file di ingresso (o una parte di esso) con Codice vB tag.
  #7 (permalink)  
Old 02-12-2009
Marcelino marcelino is offline
Utente Registrato
  
 

Iscriviti Data: febbraio 2009
Interventi: 4
risposta

Utilizzando gli stessi dati che avevate esempio, ho ricevuto il seguente:

nawk 'BEGIN (RS \u003d FS \u003d "") (print $ 1, NF-1)' data.txt
0 27
0 31

Aggiunta di spazio a ""

$ Nawk 'BEGIN (RS \u003d FS \u003d "") (print $ 1, NF-1)' data.txt
01.02.09 0
08:30 4
07:00 4

Passaggio a NF-2

$ Nawk 'BEGIN (RS \u003d FS \u003d "") (print $ 1, NF-2)' data.txt
01.02.09 -1
08:30 3
07:00 3
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 è 12:06 PM.


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