Re: lug-bg: sed, awk help
- Subject: Re: lug-bg: sed, awk help
- From: Dimitar Terziev <mitak@xxxxxxxxxxxxxxxxx>
- Date: Mon, 5 Jul 2004 19:10:33 +0300
- Organization: Home
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
И така става.
Вече си направих системата, която исках, и работи.
Малко ме притеснява, че има едно SUID-нато cgi, което стартирам малко по
"ламерски" с passthru в php-то, ама се надявам, че в LAN-а няма да се намери
някой "хакер" да прави щуротии :)
То по принцип всяко едно действие в системата го логва в базата данни, ама ако
ме роотнат....
Иначе като цяло - всичко бачка, за сега без проблем.
On Monday 05 July 2004 18:49, Peter Pentchev wrote:
> Виждам, че доста хора вече са отговорили - което може да се очаква, при
> положение, че три-четири дни не пипах изобщо компютър, да не говорим за
> Интернет :) Но все пак, в духа на TMTOWTDI, нужно ли е наистина да
> parse-ваш изхода от mysqldump, ако можеш да убедиш command-line клиента
> да ти свърши работата? :)
>
> Ако таблицата ти изглежда по начин, подобен на този...
>
> | macs | CREATE TABLE `macs` (
>
> `ads` char(20) NOT NULL default '',
> `mac` char(20) NOT NULL default ''
> ) TYPE=MyISAM |
>
> ...то можеш да направиш нещо като това :)
>
> [roam@straylight ~]> mysql -BNe 'select concat(ads, " ", mac) from macs'
> test 212.116.157.11 00:02:02:02:02:02
> 1.1.1.1 11:11:11:11:11:11
> 2.3.4.5 31:16:10:31:41:12
> [roam@straylight ~]>
>
> Дори опцията -B не ти е непременно нужна, ако пренасочиш изхода на mysql
> клиента към файл или pipe:
>
> [roam@straylight ~]> mysql -Ne 'select concat(ads, " ", mac) from macs'
> test > foo [roam@straylight ~]> cat foo
> 212.116.157.11 00:02:02:02:02:02
> 1.1.1.1 11:11:11:11:11:11
> 2.3.4.5 31:16:10:31:41:12
> [roam@straylight ~]>
>
> ...и няма нужда нито от sed, нито от awk :)
>
> А ако все пак настояваш...
>
> [roam@straylight ~]> cat foo
> '212.116.157.11','00:02:02:02:02:02'
> '1.1.1.1','11:11:11:11:11:11'
> '2.3.4.5','31:16:10:31:41:12'
>
> Това е изходният файл във формат, подобен май на това твоето.
> Убеждаваме awk да приема и апостроф, и апостроф-запетая-апостроф за
> field separators:
>
> [roam@straylight ~]> awk -F"'(,')?" '{print $2 " " $3}' foo
> 212.116.157.11 00:02:02:02:02:02
> 1.1.1.1 11:11:11:11:11:11
> 2.3.4.5 31:16:10:31:41:12
> [roam@straylight ~]>
>
> Voila! :) Но според мен решението с mysql -N и concat е малко
> по-добро...
>
> Поздрави,
> Петър
- --
pub DBFC6E5B http://pgp.mit.edu
Key fingerprint = C1E3 A4E1 1BF5 779E 9814 1645 F935 2464 DBFC 6E5B
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
iD8DBQFA6X2A+TUkZNv8blsRAsKwAJ4veyUxNAYK2cQrXuAX5j6j/IS8XACdGoKW
fXS54S5D0+HLjb2prbQLzMo=
=9ycx
-----END PGP SIGNATURE-----
============================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
============================================================================
|