|
[+] awk sed czy co innego - wycinanie fragmentu tekstu
lis6502 - 03-01-2009 19:56
Walczę z tym od kilku godzin. Powiedzmy że mam taki tekst
BeDA dobrzE BraLY 6A5B0C2D
Potrzebuję wyciąć z niego liczbę heksadecymalną. Robiłem to grepem, ale ten wyświetlał mi całą linię. awk sprawdzi się jeśli wiem, na którym 'polu' znajduje się poszukiwana przeze mnie wartość. Ew. od biedy wystarczy mi parametr do awka, który zadziała tak, że
{print $1}
wyświetli mi pierwsze pole od końca. Sed chyba do tego się nie nada, przy takiej składni
lis6502@Nexus:~$ echo BeDA dobrzE BraLY 6A5B0C2D |sed 's/[^0-9A-F]//g' BDAEB6A5B0C2D
Byłem na www.majerowski.pl, ale mojego problemu tam nie poruszono. Forum też przeglądałem.
snah - 05-01-2009 09:38
echo BeDA dobrzE BraLY 6A5B0C2D | awk '{print NF; print $NF}'
lis6502 - 05-01-2009 11:57
Dzięki Ci wybawco! Jeszcze powiedz tylko skąd bierzesz takie mądrości? Jest jakiś kurs gdzieś?
snah - 07-01-2009 11:14
Mam na studiach systemy operacyjne. Prowadzący nam dał kilka pdfów. Jak poszukasz to na pewno też coś znajdziesz, np. na szybko z wikipedii http://gnu.univ.gda.pl/~tomasz/prog/...o/awk-man.html .
RaV. - 07-01-2009 16:54
Wiem, że problem już rozwiązany, ale może na przyszłość się przyda, albo jako ciekawostka.
wyświetli mi pierwsze pole od końca. Sed chyba do tego się nie nada, przy takiej składni Kod: lis6502@Nexus:~$ echo BeDA dobrzE BraLY 6A5B0C2D |sed 's/[^0-9A-F]//g' BDAEB6A5B0C2D
Nada :)
echo BeDA dobrzE BraLY 6A5B0C2D | sed -e 's/.* \([0-9A-F]*\)$/\1/'
lis6502 - 07-01-2009 17:00
Również Ci dziękuję. Niestety już nie załapiesz się do podziękowań w moim niewielkim faq ;p
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|