![]() |
|
|
google unix.com
|
|||||||
| Forums | S'inscrire | Forum Rules | Liens | Albums | FAQ | Liste des membres | Calendrier | Recherche | Aujourd'hui, les postes | Marquer les forums comme lus |
| 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 |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
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 ... |
|
||||
|
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). |
![]() |
| Bookmarks |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|