![]() |
|
|
google unix.com
|
|||||||
| Fórumok | Regisztráció | Fórum Szabályok | Linkek | Albumok | GYIK | Tagok listája | Naptár | Keres | Mai hozzászólások | Megjelöl Fórumok Olvas |
| 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 |
![]() |
|
|
LinkBack | Téma eszközök | Keresés a téma | Rate Thread | Megjelenítési módok |
|
|
|
||||
|
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 Kód:
240 : TXDATA 0000000000000001
280 : TXDATA 0000000000000002
320 : TXDATA 0000000000000003
360 : TXDATA 0000000000000004
400 : TXDATA 0000000000000005
Kód:
1042 : RXADDR : 00000000 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
Kösz & Üdvözlettel, user_prady Last edited by user_prady; 09/01/2008 at 01:28 AM.. |
|
||||
|
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 " |
|
||||
|
Idézet:
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.. |
|
||||
|
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
|
|
||||
|
Idézet:
Legyen szíves egy rövid elképzelést, mi ennek a nyilatkozatnak a Kód:
txdata[txaddr,++txindex[txaddr]] Üdvözlettel, user_prady Last edited by user_prady; 09/01/2008 at 03:29 AM.. |
|
||||
|
Idézet:
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
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 Pls adj egy javaslatot .. Üdvözlettel, Pradyumna |
|
||||
|
Idézet:
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. |
![]() |
| Könyvjelzõk |
| Téma eszközök | Keresés a téma |
| Megjelenítési módok | Rate this thread |
|
|