Freesco, NND, CDN, EOS

http://www.freesco.pl
Dzisiaj jest piątek, 19 kwietnia 2024, 20:27

Strefa czasowa UTC+2godz.




Nowy temat Odpowiedz w temacie  [ Posty: 31 ]  Przejdź na stronę 1, 2  Następna
Autor Wiadomość
Post: niedziela, 16 marca 2008, 15:28 
Offline
PGF

Rejestracja: sobota, 15 marca 2003, 13:54
Posty: 2780
Nie mogę poradzić sobie z takim oto problemem :
jest sobie plik tekstowy (log), w którym zapisywane są regularne dane. Muszę napisać skrypt, który
1) pobierze 1 linię z loga
2) wykona odpowiednie porównania (to już mam - poniżej)
n) i tak dalej, linia po linii

Do czego doszedłem:

: [/] [] ()
mac_kl=`echo "$linia" | grep -w Connected | awk '{print $3}' `
ip_kl=`echo "$linia" | grep -w remote | awk '{print $4}'`


$linia to zmienna do której muszę podstawić każdą linijkę logu.
Jak wyciągnąć linię po linii i każdą z nich podstawić do zmiennej ?

_________________
Internet TV telefon - Nakło nad Notecią
NoNieno.pl - urywa gacie :)
Szybkie kobiety i piękne samochody


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: niedziela, 16 marca 2008, 16:53 
Offline
PGF

Rejestracja: niedziela, 14 lipca 2002, 14:33
Posty: 3234
Lokalizacja: Radziejów
zobacz sobie w skryptach:
http://ww2.devel-nnd.brb.pl/nnd/pakiety ... pkg.tar.gz
http://ww2.devel-nnd.brb.pl/nnd/pakiety ... pkg.tar.gz
http://ww2.devel-nnd.brb.pl/nnd/pakiety ... pkg.tar.gz

_________________
Nie jestem NEKROMANTĄ, nie wróżę z flaków!
Alkohol pity z umiarem nie szkodzi nawet w największych ilościach!
Przeczytaj nim zapytasz
Obrazek


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: niedziela, 16 marca 2008, 22:53 
Offline
PGF

Rejestracja: sobota, 15 marca 2003, 13:54
Posty: 2780
zciech pisze:


Dzięki za wskazówkę , działa.

_________________
Internet TV telefon - Nakło nad Notecią
NoNieno.pl - urywa gacie :)
Szybkie kobiety i piękne samochody


Na górę
 Wyświetl profil  
 
Post: poniedziałek, 17 marca 2008, 03:45 
Offline
MODERATOR

Rejestracja: piątek, 5 lipca 2002, 17:31
Posty: 2449
Lokalizacja: Londyn
Albercik pisze:
: [/] [] ()
mac_kl=`echo "$linia" | grep -w Connected | awk '{print $3}' `
ip_kl=`echo "$linia" | grep -w remote | awk '{print $4}'`



Procesor Ci się nudzi i chcesz go czymś zająć?

mac_kl=`echo "$linia" | awk '/Connected / {print $3}' `
ip_kl=`echo "$linia" | awk '/ remote / {print $4}'`

awk doskonale sobie radzi bez pomocy grepa. Nie pamiętam teraz czy ma odpowiednik opcji '-w' ale nawet jeśli nie to łatwo to zrobić dodając spacje (tabulatory, znaki nowej linii czy co tam jest potrzebne) wokół poszukiwanego wzorca.

Co do głównego pytania - tak wygląda ogólna konstrukcja wczytująca do zmiennej line kolejno wszystkie linie z pliku


while read line; do
#tu robisz to co chcesz ze zienną $line
done < /sciezka/plik

_________________
Mis'
___________________________________
"Real Men Use Telnet on port 80" (el bid)


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: środa, 19 marca 2008, 14:19 
Offline
Użytkownik

Rejestracja: środa, 8 czerwca 2005, 19:39
Posty: 571
Hejka, przepraszam ze sie podpinam ;-) ale mam problemik mały
Potzrebuję w bashu napisać skrypt, który z kodu html wyciągnął by dane.
Kod jest prosty:
<tr><td>Xyz Yzx</td><td>Zyx</td><td style="color: green">12:34</td></tr>
Chodzi o to by zostało:
Xyz Yzx Zyx 12:34

Maltertuje wlasnie grepy, sedy, awk -- opornie idzie...

Wszelkie wskazówki mile widziane, dzięki.

Dzieki
: [/] [] ()
sed -e 's/<[^>]*>/ /g' mojplik.html

_________________
| ArchLinux X64 2.6.29-6 (Custom) @ IBM eServer 235
| Intel Xeon 2,4GHz (x2) : 2GB RAM : 2x36GB SCSI (RAID1)
| httpd2.6 mysql exim dhcpd named proftpd stats niceshaper06
| WAN: 35|35 mb/s (GTS) @ 500+ hosts


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: środa, 26 marca 2008, 18:18 
Offline
PGF

Rejestracja: sobota, 15 marca 2003, 13:54
Posty: 2780
Podepnę się, aby nie zaczynać znów podobnego tematu. Potrzebuję znó pomocy, z pliku tekstowego wyciągam poszczególne kolumny poleceniem "cut".
: [/] [] ()
cut -f 1,2,3,5,7  przelewy.tmp >> przelewy.txt


ale chciałbym, aby w wynikowym pliku kolumna 2 i 3 były zamienione, mianowicie:
: [/] [] ()
cut -f 1,3,2,5,7  przelewy.tmp >> przelewy.txt


ale niestety to nie działa. Znacie jakiś prosty sposób na to?

_________________
Internet TV telefon - Nakło nad Notecią
NoNieno.pl - urywa gacie :)
Szybkie kobiety i piękne samochody


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: środa, 26 marca 2008, 18:37 
Offline
PGF

Rejestracja: piątek, 25 lutego 2005, 18:22
Posty: 1430
Lokalizacja: Elbląg
: [/] [] ()
awk '{print $1,$3,$2,$5,$7}' przelewy.tmp >> przelewy.txt


awk - iem da się prawie wszystko.

TUTAJ jest dobrze opisane.

_________________
F33/F07,F11,F13,F17
ObrazekObrazek


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: środa, 26 marca 2008, 19:03 
Offline
PGF

Rejestracja: sobota, 15 marca 2003, 13:54
Posty: 2780
viater pisze:
: [/] [] ()
awk '{print $1,$3,$2,$5,$7}' przelewy.tmp >> przelewy.txt


awk - iem da się prawie wszystko.

TUTAJ jest dobrze opisane.


Jest prawie dobrze, ale kolumny muszą być odseparowane tabulatorami, nie spacjami.

_________________
Internet TV telefon - Nakło nad Notecią
NoNieno.pl - urywa gacie :)
Szybkie kobiety i piękne samochody


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: środa, 26 marca 2008, 19:31 
Offline
PGF

Rejestracja: piątek, 25 lutego 2005, 18:22
Posty: 1430
Lokalizacja: Elbląg
Albercik pisze:
Jest prawie dobrze, ale kolumny muszą być odseparowane tabulatorami, nie spacjami.

Nie ma problemu :)
: [/] [] ()
awk '{OFS="\t"} {print $1,$3,$2,$5,$7}' przelewy.tmp >> przelewy.txt

Można też tak:
: [/] [] ()
awk '{print $1"\t"$3"\t"$2"\t"$5"\t"$7}' przelewy.tmp >> przelewy.txt

ale pierwsza wersja ładniej mi wygląda.

_________________
F33/F07,F11,F13,F17
ObrazekObrazek


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: środa, 26 marca 2008, 22:05 
Offline
PGF

Rejestracja: sobota, 15 marca 2003, 13:54
Posty: 2780
viater pisze:
Albercik pisze:
Jest prawie dobrze, ale kolumny muszą być odseparowane tabulatorami, nie spacjami.

Nie ma problemu :)
: [/] [] ()
awk '{OFS="\t"} {print $1,$3,$2,$5,$7}' przelewy.tmp >> przelewy.txt

Można też tak:
: [/] [] ()
awk '{print $1"\t"$3"\t"$2"\t"$5"\t"$7}' przelewy.tmp >> przelewy.txt

ale pierwsza wersja ładniej mi wygląda.


Zostało tylko jedno, aby sam AWK nie reagował na spacje w tekście tylko tabulatory. :wink:

--EDIT--

Sprawa rozwiązana:
: [/] [] ()
awk -F "\t" '{OFS="\t"} {print $1,$5,$3,$7}' przelewy.tmp >> przelewy.txt

_________________
Internet TV telefon - Nakło nad Notecią
NoNieno.pl - urywa gacie :)
Szybkie kobiety i piękne samochody


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 27 marca 2008, 00:34 
Offline
PGF

Rejestracja: piątek, 25 lutego 2005, 18:22
Posty: 1430
Lokalizacja: Elbląg
Albercik pisze:
Zostało tylko jedno, aby sam AWK nie reagował na spacje w tekście tylko tabulatory. :wink:

Chciałoby się napisać: "RTFM", tym bardziej, że dałem linka ;)
A jednak:
Albercik pisze:
--EDIT--

Sprawa rozwiązana:
: [/] [] ()
awk -F "\t" '{OFS="\t"} {print $1,$5,$3,$7}' przelewy.tmp >> przelewy.txt

Czyli widzę, że jednak link się przydał ;)

_________________
F33/F07,F11,F13,F17
ObrazekObrazek


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: czwartek, 27 marca 2008, 00:42 
Offline
PGF

Rejestracja: sobota, 15 marca 2003, 13:54
Posty: 2780
viater pisze:
Czyli widzę, że jednak link się przydał ;)


Ależ oczywiście :wink: i bardzo dziękuję.

_________________
Internet TV telefon - Nakło nad Notecią
NoNieno.pl - urywa gacie :)
Szybkie kobiety i piękne samochody


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: niedziela, 30 marca 2008, 21:15 
Offline
PGF

Rejestracja: sobota, 15 marca 2003, 13:54
Posty: 2780
Następny problem ze skryptem. Potrzebuję pomocy, mianowicie: jest plik tekstowy, który zawiera jakiś ciąg znaków np "ąść" , chciałbym przepisać ten plik zastępując wszystkie ciągi "ąść" na "asc" . Da się?

_________________
Internet TV telefon - Nakło nad Notecią
NoNieno.pl - urywa gacie :)
Szybkie kobiety i piękne samochody


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: niedziela, 30 marca 2008, 21:27 
Offline
PGF

Rejestracja: wtorek, 27 czerwca 2006, 14:09
Posty: 2112
Lokalizacja: Poznań
Da się, użyj programu tr .

_________________
Dedykowane systemy CRM, e-commerce i witryny korporacyjne.
Software House Poznań


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: niedziela, 30 marca 2008, 22:47 
Offline
PGF

Rejestracja: piątek, 25 lutego 2005, 18:22
Posty: 1430
Lokalizacja: Elbląg
Albo sed

_________________
F33/F07,F11,F13,F17
ObrazekObrazek


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: niedziela, 30 marca 2008, 23:31 
Offline
PGF

Rejestracja: sobota, 15 marca 2003, 13:54
Posty: 2780
viater pisze:
Albo sed


Dziękuję bardzo. Oczywiście podpowiedź znów trafiona. Jeśli ktoś chciałby to podam przykład - zamiana ę na e:
: [/] [] ()
sed -e 's/ę/e/g' plik > nowy-plik

_________________
Internet TV telefon - Nakło nad Notecią
NoNieno.pl - urywa gacie :)
Szybkie kobiety i piękne samochody


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: poniedziałek, 31 marca 2008, 00:04 
Offline
PGF

Rejestracja: piątek, 25 lutego 2005, 18:22
Posty: 1430
Lokalizacja: Elbląg
Albercik pisze:
viater pisze:
Albo sed


Dziękuję bardzo.

... ma za co ;)
Albercik pisze:
Jeśli ktoś chciałby to podam przykład - zamiana ę na e:
: [/] [] ()
sed -e 's/ę/e/g' plik > nowy-plik

A jeśli chcemy zrobić zmianę "w miejscu", czyli wynik zmiany zachować w tym samym pliku, to robimy:
: [/] [] ()
sed -i -e 's/ę/e/g' plik

_________________
F33/F07,F11,F13,F17
ObrazekObrazek


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: poniedziałek, 31 marca 2008, 00:59 
Offline
PGF

Rejestracja: sobota, 15 marca 2003, 13:54
Posty: 2780
Cytuj:
sed -i -e 's/ę/e/g' plik


A co jeśli chcemy nie jeden a kilka znaków zamienić?

_________________
Internet TV telefon - Nakło nad Notecią
NoNieno.pl - urywa gacie :)
Szybkie kobiety i piękne samochody


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: poniedziałek, 31 marca 2008, 01:08 
Offline
PGF

Rejestracja: piątek, 25 lutego 2005, 18:22
Posty: 1430
Lokalizacja: Elbląg
Albercik pisze:
Cytuj:
sed -i -e 's/ę/e/g' plik


A co jeśli chcemy nie jeden a kilka znaków zamienić?

Na przykład ?

_________________
F33/F07,F11,F13,F17
ObrazekObrazek


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: poniedziałek, 31 marca 2008, 01:14 
Offline
PGF

Rejestracja: sobota, 15 marca 2003, 13:54
Posty: 2780
viater pisze:
Albercik pisze:
Cytuj:
sed -i -e 's/ę/e/g' plik


A co jeśli chcemy nie jeden a kilka znaków zamienić?

Na przykład ?


chcę ę na e , ć na c , ź na z itd....

_________________
Internet TV telefon - Nakło nad Notecią
NoNieno.pl - urywa gacie :)
Szybkie kobiety i piękne samochody


Na górę
 Wyświetl profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat Odpowiedz w temacie  [ Posty: 31 ]  Przejdź na stronę 1, 2  Następna

Strefa czasowa UTC+2godz.


Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 25 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
cron
Technologię dostarcza phpBB® Forum Software © phpBB Group
Hosting: Compus-Net
RobertKonik.pl