Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Linux bash - konec radku

Dobrý večer. Prosím o radu nějakého zkušeného linuxáka. Mám vytvořen skript, který testuje dostupnost vybraných serverů, kde mimo jiné extrahuji z výpisu pingu dobu odezvy time

64 bytes from ns2.n4all.net (92.240.244.39): icmp_seq=1 ttl=128 time=31.0 ms

.
Problém je v tom, (v podstatě to není ani problém, ale štve mě to, že nemůžu na to přijít), proč a hlavně co mi to vypisuje na konci každého řádku za znak ^G.

Kód, který testuje dobu odezvy a ukladá čas do proměnné time

time="$(ping -a -c 1 $server | awk -F "time=" '{print$2}'| tr -d "\n" | tr -d " "| tr -d "\t")"

a formátovaný výpis do souboru $server=nazev_serveru, $check="dostupné|nedostupné"

printf "%-18s %-20s %-10s %-10s\n" "$(date -u +"%d.%m.%Y %T")" "$server" "$check" "$time" >> $fileName;

No a konečně inkriminovaný formátovaný výstup. Jde mi o ten poslední znak ^G.

04.12.2012 19:25:24 www.google.com       dostupne   34.0ms^G

Moc děkuji za odpověď.

Předmět Autor Datum
co takto? ping -a -c 1 ns2.n4all.net |grep ^64 | cut "-d " -f 8-9 | sed -e 's/time=//' AWK je v to… nový
touchwood 04.12.2012 22:09
touchwood
Super, funguje. Moc děkuji. nový
Memo1 04.12.2012 22:19
Memo1
Beru zpět, znak je tam stále :( 04.12.2012 21:26:45 www.seznam.cz dostupne 21.2 ms… nový
Memo1 04.12.2012 22:28
Memo1
Takže problém byl v cut 8-9. Díky :-) Správně je: ping -a -c 1 ns2.n4all.net |grep ^64 | cut "-d "… nový
Memo1 04.12.2012 22:43
Memo1
v tom případě je to zbytek za "ms" a stačí tam ty ms vypsat textově. nový
touchwood 04.12.2012 22:51
touchwood
parameter -a v tom pingu je audible ping... to znamena ze sa generuje znak BEL (0x07, ^G).. ..ak to… nový
emem 07.12.2012 15:14
emem
LOL.. :D to jsem si vůbec nevšiml.. poslední
touchwood 07.12.2012 16:01
touchwood

co takto?

ping -a -c 1 ns2.n4all.net |grep ^64 | cut "-d " -f 8-9 | sed -e 's/time=//'

AWK je v tomto případě kanon na vrabce.

edit: chyba je téměř jistě ve formulaci skriptu awk, ale nechce se mi nad tím přemýšlet. ;-)

edit2: přidány "ms"

parameter -a v tom pingu je audible ping... to znamena ze sa generuje znak BEL (0x07, ^G)..
..ak to tvoj terminal emulator podporuje, tak by ti pipol(nezobrazi sa ^G)... ak ten vystup tahas pipou
inde, tak ten znak ^G tam budes mat...

=> odstran -a :-p

Zpět do poradny Odpovědět na původní otázku Nahoru