The UNIX and Linux Forums  

Go Back   A UNIX és Linux Forums > Top Fórumok > Shell programozás és Scripting
.
google unix.com



Shell programozás és Scripting Post kérdések KSH, CSH, SH, Bash, Perl, PHP, SED, AWK ÉS EGYÉB shell szkriptek és shell script nyelvek itt.

Több, UNIX és Linux fórum témák Ön által talált Hasznos
Szál Thread Starter Fórum Válaszok Utolsó hozzászólás
Elhaladunk az értékeket a másodlagos script által, ha az elsődleges script venu_eie A UNIX a fejlett és szakértői Felhasználók 2 07-03-2008 08:10 AM
Elhaladunk az értékeket a másodlagos script által, ha az elsődleges script venu_eie Shell programozás és Scripting 1 07-03-2008 07:16 AM
hozzon létre egy shell scriptet, mely egy másik forgatókönyvet, és és egy awk script magikminox Shell programozás és Scripting 0 06-26-2008 03:50 AM
segítsen nekem elküldése paramétereket a sqlplus szkriptet Unix shell script Hara Shell programozás és Scripting 2 01-29-2008 03:31 PM
Shell Script: szeretnénk beszúrni értékek adatbázis frissítést, ha a szkript fut ring Shell programozás és Scripting 1 10-25-2007 04:06 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 Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 02-11-2009
fedora fedora is offline
Regisztrált felhasználó
  
 

Join Date: Jul 2006
Hozzászólások: 94
javításukat awk ezt a forgatókönyvet?

nekem van egy log file pedig így néz ki

+ +
user_a blabla
blabla nas_b blabla user_d
Ez egy user_a
junk line
másik szemét sor
user_c nas_m blabla
+ +

alapvetően a legtöbb vonalra, tartalmaz egy "felhasználó" kulcsszavakat, és a többi a sorok nem rendelkezik a "felhasználó" egyáltalán.

Én tehát a következő szkriptet, ami csak szemelvények a felhasználói rész (ha ezt a vonalat egy felhasználó kulcsszó) az egyes vonalak

awk '(for (i \u003d 0; i <\u003d NF, i + +)
if ($ i ~ / user /)
(a \u003d $ i)
vagy
(tovább)
(print a)
) '/ Tmp / teszt

és amikor fut, megvan a következő eredményre

user_a
user_d
user_a
user_a #<\u003d\u003d\u003d valójában nincs felhasználó ezt a vonalat egyáltalán.
user_c

miért ez történik, és hogyan lehet javítani a forgatókönyvet? köszönöm
  #2 (permalink)  
Old 02-11-2009
joeyg's Avatar
joeyg joeyg is offline Forum Staff  
modérateur
  
 

Join Date: Dec 2007
Helyszín: Home 17-idő világ bajnok Boston Celtics
Hozzászólások: 1311
Cool

Azt hiszem, ez azért van, mert mindig nyomás értéket. Szóval, nem túl írásban "a" ni a példányt a 4. sor, így ha nyomtatni a változó, kaptunk az utolsó tárolt érték 'a'.
Talán az első sorban ater meg mást, csinál egy
Kód:
a=""
arra, hogy üres az utolsó "a" érték?
  #3 (permalink)  
Old 02-11-2009
fedora fedora is offline
Regisztrált felhasználó
  
 

Join Date: Jul 2006
Hozzászólások: 94
Én reliazed ezt a problémát, de úgy tűnik, nem tudom megoldani a problémát, itt van a módosított szkript

awk '(for (i \u003d 0; i <\u003d NF, i + +)
if ($ i ~ / user /)
(a \u003d $ i)
vagy
(a \u003d "no")
(Tovább)
(print a)
) '/ Tmp / teszt

és a kimeneti változást a

nem
user_d
user_a
nem
nem

amely egyáltalán nem helyes.


Idézet:
Originally Posted by joeyg View Post
Azt hiszem, ez azért van, mert mindig nyomás értéket. Szóval, nem túl írásban "a" ni a példányt a 4. sor, így ha nyomtatni a változó, kaptunk az utolsó tárolt érték 'a'.
Talán az első sorban ater meg mást, csinál egy
Kód:
a=""
arra, hogy üres az utolsó "a" érték?
  #4 (permalink)  
Old 02-11-2009
radoulov's Avatar
radoulov radoulov is online now Forum Staff  
Addict
  
 

Join Date: Jan 2007
Helyszín: Варна, България / Milano, Olaszország
Hozzászólások: 2.892
Vele awk:

Kód:
awk '{ 
  for (i=1; i<=NF; i++)
    if ($i ~ /user/)
      print $i
      }' infile
Vele Perl:

Kód:
perl -lne'print $1 while /(user[^\s]*)/g' infile
Vele GNU grep:

Kód:
grep -o 'user[^ \t]*' infile
  #5 (permalink)  
Old 02-11-2009
fedora fedora is offline
Regisztrált felhasználó
  
 

Join Date: Jul 2006
Hozzászólások: 94
Kösz, tudom, hogy ebben a példában is adtam, egrep van egy jobb választás, de valójában az igazi munka "kideríteni, mind a" felhasználó "és a" nas "rész, majd nyomtassa ki az eredményt.

alábbiakban az eredmény akarok

+
user_a nas_b
user_d nas_b
user_a
user_c nas_m
+

De a probléma, nem számít, hogyan én módosított enyém, én csak nem fog a kívánt eredményt ...

[Quote \u003d radoulov; 302286540]-val awk:

Kód:
awk '{ 
  for (i=1; i<=NF; i++)
    if ($i ~ /user/)
      print $i
      }' infile
Vele Perl:
  #6 (permalink)  
Old 02-11-2009
radoulov's Avatar
radoulov radoulov is online now Forum Staff  
Addict
  
 

Join Date: Jan 2007
Helyszín: Варна, България / Milano, Olaszország
Hozzászólások: 2.892
Idézet:
Originally Posted by fedora View Post
Kösz, tudom, hogy ebben a példában is adtam, egrep van egy jobb választás, de valójában az igazi munka "kideríteni, mind a" felhasználó "és a" nas "rész, majd nyomtassa ki az eredményt.

alábbiakban az eredmény akarok

+
user_a nas_b
user_d nas_b
user_a
user_c nas_m
+
Nem értem a logikát ...
Miért user_d nas_b?
  #7 (permalink)  
Old 02-11-2009
fedora fedora is offline
Regisztrált felhasználó
  
 

Join Date: Jul 2006
Hozzászólások: 94
Sajnálom, hogy volt egy typo
Closed Thread

Könyvjelzõk

Téma eszközök Keresés a téma
Keresés a téma:

Részletes keresés
Megjelenítési módok Rate this thread
Rate this thread:

Posting szabályzat
Ön nem post new threads
Ön nem post válaszok
Ön nem post Csatolmányok
Ön nem szerkeszteni az üzeneteidet

BB kód van Be
Smilies vannak Be
[IMG] kód Be
HTML kód Ki
Trackbacks vannak Be
Pingbacks vannak Be
Refbacks vannak Be




Minden idő GMT -4. Az idő most 04:11 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Nyelvre lefordítva Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
A UNIX és Linux Fórum Tartalom Copyright © 1993-2009. Minden jog Reserved.Ad menedzsment RedTyger

Content Relevant URLs by vBSEO 3.2.0