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
Perl elemzés a KSH-elemzés Popeye Shell programozás és Scripting 1 08-06-2008 11:46 PM
olvasat sorokat pár kép a KSH ytokar Shell programozás és Scripting 4 02-08-2008 02:50 PM
perl Keresés és csere pár umen Shell programozás és Scripting 1 07-30-2006 12:37 PM
proc bache_gowda A UNIX a dummies Kérdések és válaszok 7 05-23-2005 12:18 PM
/proc aojmoj A UNIX a fejlett és szakértői Felhasználók 3 11-20-2002 05:54 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 11-18-2008
felbane felbane is offline
Regisztrált felhasználó
  
 

Join Date: Nov 2008
Hozzászólások: 1
Talking Feldolgozás / proc / net / dev a legfontosabb: érték párokat (ön válaszol)

Hi all,

Én Kell egy kis segítség használatával sed/awk / linux egyéb eszközök megfelelnek a következő cél:

Próbálom, hogy a kimenet a / proc / net / dev:

Kód:
Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
    lo:18748525  129811    0    0    0     0          0         0 18748525  129811    0    0    0     0       0          0
  eth0:1699369069 226296437    0    0    0     0          0      3555 4118745424 194001149    0    0    0     0       0          0
  eth1:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
  sit0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0

... grep végre interface (eth0) és kapcsolja be a következő adatokat tartalmazza:

Kód:
rxbytes:1699369069 rxpackets:226296437 rxerrs:0 rxdrop:0 rxfifo:0 rxframe:0 rxcompressed:0 rxmulticast:3555 \
txbytes:4118745424 txpackets:194001149 txerrs:0 txdrop:0 txfifo:0 txcolls:0 txcarrier:0 txcompressed:0

Kaptam, mint amennyire ez a részlet:

Kód:
cat /proc/net/dev | egrep "(eth0|face)" | sed -e 's/|/:/' | sed -e 's/|/ /' | cut -d ":" -f 2 | tr -s " " " "
 
bytes packets errs drop fifo frame compressed multicast bytes packets errs drop fifo colls carrier compressed
1709184740 226328683 0 0 0 0 0 3555 4122564415 194035769 0 0 0 0 0 0

... de nem vagyok benne biztos, hogy hol jár el innen, vagy ha ez nem is jó úton halad. Már valaki csinált valamit a hasonló előtt (azaz a fordítás oszlopot kulcs: érték párok)?

Ön szakértelem much appreciated!

Update: Találtam hogyan kell átültetni sorok oszlopokat (ami egy lépéssel közelebb!):

Kód:
cat /proc/net/dev | egrep "(eth0|face)" | sed -e 's/|/:/' | sed -e 's/|/ /' | cut -d ":" -f 2 | tr -s " " " " | \
awk 'BEGIN {FS=" "} {for (i=1;i<=NF;i++){ arr[NR,i]=$i; if(big <= NF) big=NF; }} \
END {for(i=1;i<=big;i++){for(j=1;j<=NR;j++){printf("%s:",arr[j,i]);}printf("\n");}}'

bytes:1718395341:
packets:226353349:
errs:0:
drop:0:
fifo:0:
frame:0:
compressed:0:
multicast:3555:
bytes:4126856358:
packets:194063589:
errs:0:
drop:0:
fifo:0:
colls:0:
carrier:0:
compressed:0:

Most már csak szükség, hogy kitaláljuk, hogyan prepend a "TX" és a "rx", és a záró szalag ":" és ez minden! Ez a fórum is awesome.

Update 2:
Megvan! Az egyetlen mód, hogy lehetne jobb is a CamelCase (RxBytes, stb):

Kód:
cat /proc/net/dev | egrep "(eth0|face)" | sed -e 's/|/:/' -e 's/|/ /' | cut -d ":" -f 2 | tr -s " " " " | \
awk 'BEGIN {FS=" "} {for (i=1;i<=NF;i++){ if(i<9){arr[NR,i]="rx"$i;}else{arr[NR,i]="tx"$i;} if(big <= NF) big=NF; }} \
END {for(i=1;i<=big;i++){for(j=1;j<=NR;j++){ printf("%s\t",arr[j,i]);}printf("\n");}}' | sed -e 's/\t$//' -e 's/\t/:/' -e 's/:[tr]x/:/'
rxbytes:1790844622
rxpackets:226585666
rxerrs:0
rxdrop:0
rxfifo:0
rxframe:0
rxcompressed:0
rxmulticast:3555
txbytes:4161116750
txpackets:194310608
txerrs:0
txdrop:0
txfifo:0
txcolls:0
txcarrier:0
txcompressed:0

A többsoros formátum valóban jól működik a kérelmemet.

Last edited by otheus; 01/30/2009 at 07:31 AM.. Reason: Woot!
Closed Thread

Könyvjelzõk

Címkék
megoldatlan, megoldatlan hónapokig, megoldatlan a héten

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 06:57 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