![]() |
Bonjour et bienvenu par les États-Unis à la UNIX et Linux Forums! Merci de votre visite et vous joindre à notre communauté mondiale.
|
|
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 |
| Passer les valeurs de l'enseignement secondaire où il script principal invoqué par script | venu_eie | UNIX for Advanced & Expert Users | 2 | 07-03-2008 07:10 AM |
| Passer les valeurs de l'enseignement secondaire où il script principal invoqué par script | venu_eie | De programmation et de script Shell | 1 | 07-03-2008 06:16 AM |
| créer un script shell qui appelle un autre script et un script awk | magikminox | De programmation et de script Shell | 0 | 06-26-2008 02:50 AM |
| aidez-moi dans l'envoi des paramètres de script pour sqlplus script shell unix | Hara | De programmation et de script Shell | 2 | 01-29-2008 03:31 PM |
| Shell Script: vous voulez insérer des valeurs dans la base de données mise à jour lorsque le script s'exécute | anneau | De programmation et de script Shell | 1 | 10-25-2007 03:06 AM |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
la façon de résoudre ce script awk?
j'ai un fichier journal, tout ressemble à ça
+ + user_a blabla nas_b blabla blabla user_d il s'agit d'un user_a junk ligne une autre ligne de junk user_c nas_m blabla + + essentiellement la plupart des lignes contenant un "utilisateur" des mots-clés, et le reste des lignes n'ont pas de «l'utilisateur» à tous. Donc, j'ai le script suivant, qui vient de l'utilisateur extraits partie (si la ligne a un mot-clé) de chaque ligne awk '(for (i \u003d 0; i <\u003d NF; i + +) if ($ i ~ / user /) a \u003d $ (i) autre (continue) (print a) ) '/ Tmp / test et quand je le lancer, j'ai eu le résultat suivant user_a user_d user_a user_a #<\u003d\u003d\u003d effectivement il n'ya pas que l'utilisateur en ligne à tous. user_c pourquoi cela se produit et comment puis-je réparer mon script? merci |
|
||||
|
Je reliazed ce problème, mais il semble que je ne peux pas résoudre le problème, voici le script de modification
awk '(for (i \u003d 0; i <\u003d NF; i + +) if ($ i ~ / user /) a \u003d $ (i) autre (a \u003d "no") (Continue) (print a) ) '/ Tmp / test et le changement à la sortie non user_d user_a non non qui n'est pas correct du tout. Citation:
|
|
||||
|
Merci, je sais que dans cet exemple, j'ai donné, egrep est un meilleur choix, mais en fait, mon vrai travail est de trouver à la fois de "l'utilisateur" et "nas" partie, puis d'imprimer le résultat.
ci-dessous est le résultat, je veux + user_a nas_b user_d nas_b user_a user_c nas_m + Mais le problème est que, quel que soit i modifié mon script, j'ai tout simplement de ne pas obtenir le résultat souhaité ... [QUOTE \u003d radoulov; 302286540] Avec awk: Code:
awk '{
for (i=1; i<=NF; i++)
if ($i ~ /user/)
print $i
}' infile
|
|
|||||
|
Citation:
Pourquoi user_d nas_b? |
![]() |
| Bookmarks |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|