Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
hejka
chciałem zastosować poniższy skrypt:
awk '{printf("echo -en `date -d '"'1970-01-01 %s sec'"' +"'" %Y-%m-%d %T "'"` %s %s %s %s %s %s %s %s %s; echo '"''"' \n ", $1, $2, $3, $4, $5, $6 ,$7, $8, $9 $10 );}' < plik_we > plik_wy
i jak nie trudno się domyślić mam problem :( Mianowicie AWK rzuca mi błędem aporpo "%Y-%m-%d %T" a dokładnie chodzi mu o znaki procenta %. Czy ma ktoś jakiś pomysł żeby to obejść ??
Z góry bardzo dziękuje
Offline
rozjaśnił co ma robić ten skrypt wtedy będzie łatwiej pomóc
Offline
cos zaplatales sie z wstawianiem znakow " i ', pozatym w printf % trzeba zabezpieczac jako %% ... cos takiego dziala:
awk '{printf("echo -e `date -d \"1970-01-01 %s sec\" + \"%%Y-%%m-%%d %%T\"` %s %s %s %s %s %s %s %s %s;", $1, $2, $3, $4, $5, $6 ,$7, $8, $9, $10 );}'
nie wiem czy nie pominolem jakis waznych " lub ' ale tamto polecenie jest na tyle niejasne ze trudno sie zorientowac ...
Offline
już tłumacze
mianowice to polecenie konwertuje mi datę w pliku squida, wiem że jest prościej zrobić to:
date -d@..... ale na jednym serwerze jest tak stara wersja Debianka, że nie chce mi to polecenie działać a robiąc to w tej sposób przygotowuje mi gotowy skrypt, którego jak uruchomie pokazuje mi logi squida w zjadliwym formacie.
awk '{printf("echo -en `date -d '"'1970-01-01 %s sec'"' +"'" %Y-%m-%d %T "'"` %s %s %s %s %s %s %s %s %s; echo '"''"' \n ", $1, $2, $3, $4, $5, $6 ,$7, $8, $9 $10 );}' < plik_we > plik_wy
Dziękuje za odpowiedzi ;)
Offline
Spróbuj tak:
for data in $(cat /var/log/squid/access.log | awk '{print $1}'); do echo $(date -d "1970-01-01 $data sec" "+%F %T" ); done > plik_wy
Offline
dziękuje spróbuje
Offline
Znalazłem jeszcze coś takiego na necie to konwersji może Ci się przyda
perl -pe 's/^(\d+)/localtime $1/e' access.log > wyniczek
i aby w logach otrzymać datę w normalnym formacie do pliku dodaj squid.conf
emulate_httpd_log on
Offline
dziekuje bardzo ;)
Offline