Nowe posty

xx Problem ze sterownikami. (5)
2024-04-13, 21:25:16
xx Instalacja xfce4 (2)
2024-04-13, 16:20:17
xx Serie kompilacji bez instalacji dla “emerge” w Gentoo (2)
2024-04-08, 18:40:04
xx Plasma 6 w Neonie ssie trochę mniej ... (17)
2024-04-05, 10:03:46
xx Problem z Linux Lite po instalacji (3)
2024-04-03, 14:23:40
xx Jak właczyć num locka przy starcie systemu debian 12? (12)
2024-04-02, 17:43:54
xx Brak dźwieku w systemie. (5)
2024-04-02, 16:13:41
xx Dystrybucja pod HP Omen (7)
2024-03-29, 11:33:05
xx [Poradnik] Wyszukiwanie Sterowników (2)
2024-03-27, 21:08:23
xx Ile pingwinów? (1)
2024-03-27, 08:59:24

Autor Wątek: Prasowanie zmienna do cut  (Przeczytany 4935 razy)

Uroocz

  • Gość
Prasowanie zmienna do cut
« dnia: 2010-03-25, 09:51:14 »
Idzie wiosna a z nią sprzątanie i prasowanie  
mam mały problem pisze skrypcik do wyciągania macadressow i ip z ARP

i oto co sie dzieje
...
CUT="/bin/cut"
DONOS="/sbin/arp -n"
ips=`echo $DONOS | $CUT -c 1-16 ` tu cos nie fika
arps=`$echo $DONOS  | $CUT -c34-50`# tu cos nie fika
i3=0
for WORD in `echo ${ips}` ; do
tab_ips[$i3]=`echo $WORD |  $CUT -c 1-16 `
echo "${tab_ips[$i3]}"
((i3=1+i3))
done
....
i powyższe rozwiązanie nie działa

chodzi tu o wycięcie  kolumny i
za pomocą komendy
ips=`echo $DONOS | $CUT -c 1-16 `
natomiast działa tylko wtedy gdy zrobię
ips=`/sbin/arp -n | $CUT -c 1-16 `
jednak to ma wadę bo za każdym razem pobiera nowe wartości i mogą się różnic a mi zależy by były te same. by zmienna ips pobierała dane z $DONOS a nie za każdym razem wywoływała arp

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3056
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Prasowanie zmienna do cut
« Odpowiedź #1 dnia: 2010-03-25, 13:32:01 »
Może
DONOS=`/sbin/arp -n`
?
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

Uroocz

  • Gość
Prasowanie zmienna do cut
« Odpowiedź #2 dnia: 2010-03-25, 13:56:51 »
masz rację błąd podczas przepisywania jednak funkcja zle prasuje

tu jest pełen kod
http://wklejto.pl/61638

ips=`echo $DONOS | $CUT -c 1-16 `
nie prasuje całej kolumny

arctgx

  • Gość
Prasowanie zmienna do cut
« Odpowiedź #3 dnia: 2010-03-25, 15:08:30 »
Kod
D="/usr/sbin/arp -n"
CUT="/usr/bin/cut"
$D | $CUT -c 1-16
działa u mnie, choć chcąc uniknąć linii z etykietą, użyłbym prędzej awka. Niezależnie od potrzeb, zerknij jak działa wbudowane polecenie eval w bashu czy innej powłoce.

Jeszcze jeden drobiazg: nie prościej inkrementować zmienną wyrażeniem ((zmienna++))?

P.S. Antybaszystowska uwaga: być może chcesz odpalić skrypt w innej powłoce, gdzie tak inkrementować się nie da.

Uroocz

  • Gość
Prasowanie zmienna do cut
« Odpowiedź #4 dnia: 2010-03-26, 09:05:21 »
twoje rozwiązanie zadziałało jednak najprostsze metody są najlepsze :)