apache.log podruhé
Dobrý den. Už od včera se nemohu dostat ke správnému řešení selftestové úlohy s apache.log. Můžete mi prosím poradit ? Děkuji.
Můj script + zadání
Dobrý den. Už od včera se nemohu dostat ke správnému řešení selftestové úlohy s apache.log. Můžete mi prosím poradit ? Děkuji.
Můj script + zadání
Vidím minimálně 2 problémy:
sed
ve výchozím nastavení vytiskne každou řádku.Pozor na rozdíl u sort
-u -k 1
a -k 1,1
-- není to to samé
viz man sort
:
-k, --key=POS1[,POS2] start a key at POS1 (origin 1), end it at POS2 (default end of line). See POS syntax below
To znamená, že pokud není určený poslední sloupec, bere se to do konce řádku. Tedy v tomto případě je -k 1
ekvivalentní s -k 1,4
, což nemusí dělat to, co chceš...
Na takhle položenou otázku se extrémně špatně odpovídá. Jaké je přesně zadání? Co ještě funguje a co už nefunguje? Jaká jsou vzorová data?
Každopádně problém vidím v těch sed
ech, jsou špatně použité. Zkuste si tipnout, co vám vypíše následující příkaz, a potom si ho vyzkoušejte: echo "abc" | sed 's|^[0-9]*$|\0|'
(nebo jestli se vám nelíbí \0, tak echo "abc" | sed 's|^\([0-9]*\)$|\1|'
).
Další poznámky:
Další poznámky už jsou irelevantní, když bylo doplněno zadání.
sed
.awk
, takže mám podezření, že tam vůbec být nemá, nebo je špatně (jak jsem psal, bez zadání těžko odhadovat).Myslel jsem, že zadání znáte. Připsal jsem ho k tomu scriptu. K tomu sedu. Mám tam dva, protože sed 's|.*\('"$IP"'\).*'|\1| by mi asi nedal první výskyt, ale ten poslední. Awk odfiltruje nejčastější IP adresy od těch ostatních. Pardon, neumím používat symboly z askfit.
pesamare ( 2015-04-26 15:50:54 +0100 )editV tomto semestru nejsem v BI-PS1, takže ani zadání na ProgTestu neznám.
OK, to by vysvětlovalo dva sed
y a awk
, ty tedy asi budou dobře. Nicméně opravte si to použití sedu, ty moje příklady vám ukáží problém.
na askfit lze používat html, pro kód v komentáři viz: https://askfit.cz/question/1208/zvyrazneni-kodu-v-komentari/
Asked: 2015-04-26 14:38:32 +0100
Seen: 201 times
Last updated: Apr 26 '15