Strona 1 z 1
Sprawdzanie ip, w plikach przez skrypt
: 04 listopada 2008, 22:19
autor: maxblink
Witam mam takie pytanie, czy jest opcja napisania skryptu który by po wpisaniu:
przeszukiwał wszystkie pliki znajdujące się tutaj:
W tym katalogu znajduje się "multum" plików o nazwach kont graczy, w których zawarta jest taka informacja:
I sęk w tym żeby jako * był dowolny znak - wiadomo o co chodzi.
Tutaj jedna osoba napisała mnie, że może pomóc, tylko abym napisał to na forum. Tak przy okazji miło by było jakby wynik się tylko pokazywał, nie zapisywał do pliku.
Pozdrawiam
: 05 listopada 2008, 16:05
autor: kuzyn
Coś takiego wymyśliłem:
Kod: Zaznacz cały
#! /bin/bash
echo "Podaj IP ktorego szukasz"
read IP
lplikow=`ls /root/testowy | cat -n | tail -1 | awk '{ print $1}'`
for (( i=$lplikow; $i != 0; i--)) ; do
plik=`ls /root/testowy | cat -n | grep $i | awk '{ print $2 }'`
zawartosc=`tail -1 /root/testowy/$plik`
if [[ $zawartosc =~ "$IP" ]]
then
wynik=`tail -1 /root/testowy/$plik`
echo $plik
echo $wynik
else
echo "Brak dopasowania"
fi
done
Zamiast root/testowy wpisz swoją ścieżkę czyli /pvpgn/var/users
Skrypt wyciągnie Ci IP jeśli np. wpiszesz 254.234 z Twojego przykładu. Jak będę miał czas to pomyślę jak całkiem go jeszcze usprawnić.
P.s. To mój trzeci skrypt w życiu więc pewnie da się to zrobić łatwiej i prościej.
Nie wymyśliłem jeszcze jak zrobić żeby podawać IP w formacie jaki podałeś ... ale może jak będe miał czas to wymyślę :P
[Dodano: 2008-11-05, 18:07]
I jeszcze mała modyfikacja:
Kod: Zaznacz cały
#! /bin/bash
echo "Podaj IP ktorego szukasz"
read IP
lplikow=`ls /root/testowy | cat -n | tail -1 | awk '{ print $1}'`
for (( i=$lplikow; $i != 0; i--)) ; do
plik=`ls /root/testowy | cat -n | grep $i | awk '{ print $2 }'`
zawartosc=`tail -1 /root/testowy/$plik`
if [[ $zawartosc =~ "$IP" ]]
then
wynik=`tail -1 /root/testowy/$plik`
echo $plik
echo $wynik
else
exit
fi
done
No i już jest tak jak ty chcesz. IP podaj np. w takiej formie:
lub
(razem z ")
Napisz czy o to Ci chodziło?
: 05 listopada 2008, 21:44
autor: maxblink
Kod: Zaznacz cały
ls: /pvpgn/var/users: Nie ma takiego pliku ani katalogu
ip: line 8: ((: i=: syntax error: operand expected (error token is "=")
Nie działa.
: 06 listopada 2008, 00:14
autor: kuzyn
Kod: Zaznacz cały
#! /bin/bash
echo "Podaj IP ktorego szukasz"
read IP
lplikow=`ls /pvpgn/var/users | cat -n | tail -1 | awk '{ print $1}'`
for (( i=$lplikow; $i != 0; i--)) ; do
plik=`ls /pvpgn/var/users | cat -n | grep $i | awk '{ print $2 }'`
zawartosc=`tail -1 /pvpgn/var/users/$plik`
if [[ $zawartosc =~ "$IP" ]]
then
wynik=`tail -1 /pvpgn/var/users/$plik`
echo $plik
echo $wynik
else
exit
fi
done
¬le zamieniłeś ścieżki - masz tu dobrze zrobione. Skrypt
na pewno działa.
[ Dodano: 2008-11-09, 21:25 ]
Zapomnij o tym co napisałem ...
Wejdz poprostu do katalogu w których masz te pliki do przeszukania i wykonaj np:
p.s. A ja się tyle upisałem :P