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
Ha tehát Else Logic jadionne A UNIX a dummies Kérdések és válaszok 7 11-23-2007 04:27 AM
nem tud a logika dineshr85 Shell programozás és Scripting 3 10-11-2007 08:34 AM
Fura Logic ganesh123 Shell programozás és Scripting 5 03-20-2007 05:08 PM
mi a logika ramneek IP Networking 2 09-05-2005 08:42 AM
Hogyan lehet indítani egy programot, amikor a Start Sajátgép? l008com A UNIX a dummies Kérdések és válaszok 1 06-23-2002 09:30 PM

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 09-01-2008
user_prady user_prady is offline
Regisztrált felhasználó
  
 

Join Date: Sep 2007
Posts: 163
Szükségem van egy logikája, hogy az awk / sh

Hi Friends,

Itt ragadtunk, hogy hol kezdődik ..

Én már a bemeneti fájl, mint alább. ha akarom összehasonlítani írni az adatokat a saját adatokat olvasni .. A probléma az, hogy az olvasott adatokat össze kell hasonlítani a legfrissebb adatokat írni, hogy a cím.

Megjegyzés: Az írni-olvasni adatokat és az adatok ugyanabban a fájlban.
TXADDR & TXDATA eszközök írni
RXADDR & RXDATA jelenti - olvasd el

Kód:
 120 : TXADDR  : 00000000
azt jelenti, hogy 120 alkalommal én küldött TXADDR -00000000 és az adatokat írni, mint az alábbi
Kód:
     240 : TXDATA  0000000000000001
     280 : TXDATA  0000000000000002
     320 : TXDATA  0000000000000003
     360 : TXDATA  0000000000000004
     400 : TXDATA  0000000000000005
ha a következő
Kód:
 1042 : RXADDR  : 00000000
Úgy jön az ideje, hogy olvassa el az adott címre 00000000 visszatér ide az adatokat, mi van írva előtt, azaz az utolsó ..


Bemeneti fájl
Kód:
     120 : TXADDR  : 00000000
     240 : TXDATA  0000000000000001
     280 : TXDATA  0000000000000002
     320 : TXDATA  0000000000000003
     360 : TXDATA  0000000000000004
     400 : TXDATA  0000000000000005
    1042 : RXADDR  : 00000000
    1080 : TXADDR  : 00000020
    1200 : TXDATA  0000000000000011
    1240 : TXDATA  0000000000000012
    1280 : TXDATA  0000000000000013
    1320 : TXDATA  0000000000000014
    1321 : RXDATA  0000000000000001
    1360 : TXDATA  0000000000000015
    1361 : RXDATA  0000000000000002
    1401 : RXDATA  0000000000000003
    1441 : RXDATA  0000000000000004
    1481 : RXDATA  0000000000000005
    1880 : TXADDR  : 00000040
    2000 : TXDATA  0000000000000021
    2040 : TXDATA  0000000000000022
    2080 : TXDATA  0000000000000023
    2120 : TXDATA  0000000000000024
    2120 : TXDATA  0000000000000025
Ha van némi zavar az én magyarázatot pls comment.

Kösz &
Üdvözlettel,
user_prady

Last edited by user_prady; 09/01/2008 at 01:28 AM..
  #2 (permalink)  
Old 09-01-2008
Annihilannic Annihilannic is offline Forum Advisor  
  
 

Join Date: May 2008
Helyszín: Sydney, Ausztrália
Hozzászólások: 1009
Amennyiben az adatok mindig megkapta a rendezés volt elküldeni? Ha így van, próbáld ki ezt:

Kód:
awk '/TX/ { print $NF }' datafile > sent
awk '/RX/ { print $NF }' datafile > received
diff sent received

Last edited by Annihilannic; 09/01/2008 at 01:39 AM.. Ok: elfelejtettem a Adatfájl "
  #3 (permalink)  
Old 09-01-2008
user_prady user_prady is offline
Regisztrált felhasználó
  
 

Join Date: Sep 2007
Posts: 163
Idézet:
Originally Posted by Annihilannic View Post
Amennyiben az adatok mindig megkapta a rendezés volt elküldeni? Ha így van, próbáld ki ezt:

Kód:
awk '/TX/ { print $NF }' datafile > sent
awk '/RX/ { print $NF }' datafile > received
diff sent received
Köszönöm válaszát .. & Sorry Ha téves, akkor ..

No nem úgy, mint annak, hogy az adatok nem recevied-ig, ha nem adja meg, hogy kizárólag olvasni. Gondoljunk csak a RAM (Read Access Memory) memóriák

Azt írja, hogy a RAM specifing TXADDR & TXDATA és én retrives adatok, amikor meghatározzák, hogy a cím RXADDR kapok, RXDATA azaz utolsó írva, hogy a címét.


Igazából Wrrtting és olvasás egymástól független.

Egyszer én TXADDR & TXDATA (5 felszakadási - A bemeneti fájl látható öt sor az input adatok contineously). Majd ezt követően fogok Olvasd el ezeket az értékeket, amikor jön RXADDR ..

Tegyük én írásbeli az azonos címet, majd kétszer az olvasáskor, hogy a címét, majd ezt fogom olvasni a legfrissebb érték van írva, hogy az adott címre.

Köszönöm
user_prady

Last edited by user_prady; 09/01/2008 at 02:09 AM..
  #4 (permalink)  
Old 09-01-2008
Annihilannic Annihilannic is offline Forum Advisor  
  
 

Join Date: May 2008
Helyszín: Sydney, Ausztrália
Hozzászólások: 1009
Valami ilyesmi? (nem tesztelt sokkal)

Kód:
awk '
        /TXADDR/ { txaddr=$NF }
        /RXADDR/ { rxaddr=$NF }
        /TXDATA/ { txdata[txaddr,++txindex[txaddr]]=$NF }
        /RXDATA/ {
                if ($NF != txdata[rxaddr,++rxindex[rxaddr]]) {
                        print "rxdata " $NF " for address " rxaddr " does not match transmitted: " txdata[rxaddr,rxindex[rxaddr]]
                }
        }
' inputfile
  #5 (permalink)  
Old 09-01-2008
user_prady user_prady is offline
Regisztrált felhasználó
  
 

Join Date: Sep 2007
Posts: 163
Idézet:
Originally Posted by Annihilannic View Post
Valami ilyesmi? (nem tesztelt sokkal)

Kód:
awk '
        /TXADDR/ { txaddr=$NF }
        /RXADDR/ { rxaddr=$NF }
        /TXDATA/ { txdata[txaddr,++txindex[txaddr]]=$NF }
        /RXDATA/ {
                if ($NF != txdata[rxaddr,++rxindex[rxaddr]]) {
                        print "rxdata " $NF " for address " rxaddr " does not match transmitted: " txdata[rxaddr,rxindex[rxaddr]]
                }
        }
' inputfile
Köszi zseni Annihilannic .. Tényleg appriciate a logika ..

Legyen szíves egy rövid elképzelést, mi ennek a nyilatkozatnak a
Kód:
txdata[txaddr,++txindex[txaddr]]
Azt hiszem ez egy 2D-s tömböt, de amikor nyomtatni, hogy csak ez ad nekem hiba.

Üdvözlettel,
user_prady

Last edited by user_prady; 09/01/2008 at 03:29 AM..
  #6 (permalink)  
Old 09-01-2008
user_prady user_prady is offline
Regisztrált felhasználó
  
 

Join Date: Sep 2007
Posts: 163
Idézet:
Originally Posted by user_prady View Post
Köszi zseni Annihilannic .. Tényleg appriciate a logika ..

Legyen szíves egy rövid elképzelést, mi ennek a nyilatkozatnak a
Kód:
txdata[txaddr,++txindex[txaddr]]
Azt hiszem ez egy 2D-s tömböt, de amikor nyomtatni, hogy csak ez ad nekem hiba.

Üdvözlettel,
user_prady

A barátom, úgy tűnik, nem működik a jelen esetben

Bemenet

Kód:
     120 : TXADDR  : 00000000
     240 : TXDATA  0000000000000011
     280 : TXDATA  0000000000000012
     320 : TXDATA  0000000000000013
     360 : TXDATA  0000000000000014
    1080 : TXADDR  : 00000000
    1200 : TXDATA  0000000000000001
    1240 : TXDATA  0000000000000002
    1280 : TXDATA  0000000000000003
    1320 : TXDATA  0000000000000004
    2002 : RXADDR  : 00000000
    2040 : TXADDR  : 00000020
    2160 : TXDATA  0000000000000011
    2200 : TXDATA  0000000000000012
    2240 : TXDATA  0000000000000013
    2280 : TXDATA  0000000000000014
    2281 : RXDATA  0000000000000001
    2321 : RXDATA  0000000000000002
    2361 : RXDATA  0000000000000003
    2401 : RXDATA  0000000000000004
KIMENET
Kód:
rxdata 0000000000000001 for address 00000000 does not match transmitted: 0000000000000011
rxdata 0000000000000003 for address 00000000 does not match transmitted: 0000000000000012
rxdata 0000000000000003 for address 00000000 does not match transmitted: 0000000000000013
rxdata 0000000000000004 for address 00000000 does not match transmitted: 0000000000000014
Itt az a fenti bemeneti fájl azonos címen (tehát a cím 00000000 Én kétszer írásbeli és az olvasás, ha az adatok és a legújabb adatok egyezési az adatokat olvasni, de én azt a programot nem illő)

Pls adj egy javaslatot ..

Üdvözlettel,
Pradyumna
  #7 (permalink)  
Old 09-02-2008
Annihilannic Annihilannic is offline Forum Advisor  
  
 

Join Date: May 2008
Helyszín: Sydney, Ausztrália
Hozzászólások: 1009
Idézet:
Originally Posted by user_prady View Post
Legyen szíves egy rövid elképzelést, mi ennek a nyilatkozatnak a
Kód:
txdata[txaddr,++txindex[txaddr]]
Azt hiszem ez egy 2D-s tömböt, de amikor nyomtatni, hogy csak ez ad nekem hiba.
Igen, ez egy két dimenziós tömb indexálják a címe, és az index. Az indexek maguk is tartott a második-timensional tömb, txindex [].

Szóval ellátni a második helyzetet, mindössze annyit kell tennie, hogy állítsa vissza a txindex [txaddr] számláló 0-Minden alkalommal, amikor új TXADDR találkozik. Ugyanígy lehet állítani a rxindex [rxaddr] számláló minden egyes alkalommal, amikor egy RXADDR találkozik.
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 07:57 PM.


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