The UNIX and Linux Forums  


Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
Comment puis-je lire un fichier texte en unix - ELF-64 fichier exécutable objet - IA64 alexcol UNIX for Advanced & Expert Users 8 11-07-2008 08:56 AM
Post Shell programmation: Question sur un fichier source et de lire des données dans le fichier ccwq De programmation et de script Shell 3 08-04-2007 11:28 PM
Lire les mots à partir d'un fichier et de créer de nouveaux fichiers en utilisant K-shell. bsrajirs De programmation et de script Shell 4 06-01-2007 01:15 PM
Lire fichier xml ram2s2001 De programmation et de script Shell 2 12-12-2005 12:20 AM
Comment lire des lignes spécifiques dans un gros fichier à l'aide des fichiers de programmation C rajan_ka1 High Level Programming 10 11-10-2005 03:29 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 Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 04-25-2008
giorgos193 giorgos193 is offline
Registered User
  
 

Date d'inscription: avril 2008
Messages: 17
Aide avec awk - lire à partir du fichier

Salut,

J'ai un fichier comme suit:


Code:
Starting to process segment 0 (and symmetry related segments)
	Number of (cancelled) singularities: 0
	Number of (cancelled) negative numerators: 0
	Segment 0: 5.49secs
Starting to process segment 1 (and symmetry related segments)
	Number of (cancelled) singularities: 0
	Number of (cancelled) negative numerators: 0
	Segment 1: 10.01secs
Starting to process segment 2 (and symmetry related segments)
	Number of (cancelled) singularities: 0
	Number of (cancelled) negative numerators: 0
	Segment 2: 7.82secs
Starting to process segment 3 (and symmetry related segments)
	Number of (cancelled) singularities: 0
	Number of (cancelled) negative numerators: 0
	Segment 3: 5.31secs

... et je tiens à en extraire l'information sur le temps. Je tiens à lire le fichier, enregistrez le temps (de chaque ligne) à une variable, enlevez le suffixe secs, puis ajouter à la valeur précédente. Le résultat sera le temps total ....

J'ai essayé beaucoup de choses, mais aucun d'eux ne fonctionne ... Dans le cas où elle aide, la dernière a été, j'ai essayé


Code:
 
TIME="`awk '/Segment/ {print $3%secs + $TIME} ' log.txt`"

echo $TIME

C'est une solution ridicule, mais je pense qu'il mai transmettre ce que je veux faire ....
Je pense qu'il a quelque chose à voir avec la lecture de chaque ligne séparément, mais je ne peux pas le découvrir ...

Merci beaucoup d'avance ...
  #2 (permalink)  
Old 04-25-2008
grumpf grumpf is offline
Registered User
  
 

Join Date: Mai 2006
Messages: 101
cela fonctionne pour mon:

awk-F ":" '/ Segment / (print $ 2)' fichier.txt
5.49secs
10.01secs
7.82secs
5.31secs

pure shell:

Segment file.txt grep | cut-d:-f2
  #3 (permalink)  
Old 04-25-2008
Franklin52 Franklin52 is offline Forum Staff  
Modérateur
  
 

Join Date: Feb 2007
Posts: 4,342
Essayez ceci:
Code:
awk '
/Segment/{match($3,".");t+=substr($3,RSTART)}
END{print "Totaltime :"t}
' file

Observe
  #4 (permalink)  
Old 04-25-2008
Franklin52 Franklin52 is offline Forum Staff  
Modérateur
  
 

Join Date: Feb 2007
Posts: 4,342
Even:


Code:
awk '/Segment/{t+=$3}END{print "Totaltime :"t}' file

Observe
  #5 (permalink)  
Old 04-25-2008
ère era is offline Forum Advisor  
Inutile de Herder Cats (en congé sabbatique)
  
 

Join Date: Mar 2008
Location: / il / est / que / bin / sh
Messages: 3652
Pour ajouter les valeurs, est-ce suffisant si vous obtenez la somme à la fin? Ensuite, awk est tout ce qu'il vous faut:


Code:
awk '/Segment/ { gsub("secs",""); time += $3 } END { print time }' file.txt

Si vous voulez vraiment en boucle sur le cumul des temps et faire quelque chose qui, chacun en shell, ce serait quelque chose comme


Code:
awk '/Segment/ { gsub ("secs",""); time += $3; print $3, time } file.txt |
while read THISTIME SUMTIME; do
  echo This time, we got $THISTIME
  echo Sum so far is $SUMTIME
done

La coquille de l'arithmétique des installations sont des entiers uniquement, vous ne pouvez donc pas le nombre total de pièces en fractions de la coque elle-même. Obtenir awk pour imprimer à la fois le courant et la valeur cumulative pour chaque ligne est une bonne solution pour que (et une bonne occasion de démontrer la façon de lire des valeurs multiples de la même ligne dans le shell).
  #6 (permalink)  
Old 04-25-2008
giorgos193 giorgos193 is offline
Registered User
  
 

Date d'inscription: avril 2008
Messages: 17
Je tiens à vous remercier tous pour votre réponse rapide! Toutes les solutions sont très bien! Je vous remercie de votre effort!

@ Époque: «Je suis vraiment impressionné par votre" avertis "solution!

Merci encore!
  #7 (permalink)  
Old 04-29-2008
summer_cherry summer_cherry is offline Forum Advisor  
Registered User
  
 

Date d'inscription: juin 2007
Lieu: Beijing Chine
Posts: 1,092

Code:
sed '/Segment/ s/secs//' a > b
awk 'BEGIN{FS=":"}
$0 ~ /Segment/ {
if(t=="")
{
	t=$2
	print
}
else
{
	t=t+$2
	print $1" "t
}
}
$0 !~ /Segment/ {print}
' b
rm b

Closed Thread

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 01:50 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0