On Mon, Jan 19, 2009 at 10:48:04AM +0700, ahmad riza h nst wrote:
>
> halo semua,
>
> saya ada masalah saat harus menyisipkan suatu teks tertentu tepat di
> depan setiap pattern yang ditemukan dalam suatu dokumen.
>
> dokumen yang ingin diubah isinya sbb:
>
> INSERT INTO `vpopmail` VALUES ('postmaster','9rjSl4ONjIvtQ',1,0,'POP
> User','/mailbox/domains/nama-domain-saya.co.id/postmaster','5M',NULL),('mzachri','NeIRtv19MRCds',1,0,'Pop
> User by
> CGI','/mailbox/domains/nama-domain-saya.co.id/mzachri','10485760S',NULL),('bekasi10','UVCI4BaPWvKak',1,0,'Pop
> User by
> CGI','/mailbox/domains/nama-domain-saya.co.id/bekasi10','10485760S',NULL),('wisma15','ZhxDoN2CAawnc',1,0,'Pop
> User by
> CGI','/mailbox/domains/nama-domain-saya.co.id/wisma15','10M',NULL),('erlangga','besLjFudqyaOA',1,0,'erlangga','/mailbox/domains/nama-domain-saya.co.id/2/erlangga','10M',NULL),('samirr','$1$9JBRx$sEixyzOSwFNGeN2zy.flW1',1,0,'Pop
> User by
> CLI','/mailbox/domains/nama-domain-saya.co.id/samirr','10M',NULL),('theoltheol','yyAsMsmD4Lr62',1,0,'theoltheol','/mailbox/domains/nama-domain-saya.co.id/1/theoltheol','10M',NULL),('aer.effendi','$1$vEoGH$xpFZSRQzbXvbs6d4cpINN/',0,0,'aer.effendi','/mailbox/domains/nama-domain-saya.co.id/aer.effendi','10485760S',NULL);
>
>
> saya ingin menyisipkan teks 'nama-domain-saya.co.id' sehingga menjadi sbb:
>
> INSERT INTO `vpopmail` VALUES
> ('postmaster','nama-domain-saya.co.id','9rjSl4ONjIvtQ',1,0,'POP
> User','/mailbox/domains/nama-domain-saya.co.id/postmaster','5M',NULL),('mzachri','nama-domain-saya.co.id','NeIRtv19MRCds',1,0,'Pop
> User by
> CGI','/mailbox/domains/nama-domain-saya.co.id/mzachri','10485760S',NULL),('bekasi10','nama-domain-saya.co.id','UVCI4BaPWvKak',1,0,'Pop
> User by
> CGI','/mailbox/domains/nama-domain-saya.co.id/bekasi10','10485760S',NULL),('wisma15','nama-domain-saya.co.id','ZhxDoN2CAawnc',1,0,'Pop
> User by
> CGI','/mailbox/domains/nama-domain-saya.co.id/wisma15','10M',NULL),('erlangga','nama-domain-saya.co.id','besLjFudqyaOA',1,0,'erlangga','/mailbox/domains/nama-domain-saya.co.id/2/erlangga','10M',NULL),('samirr','nama-domain-saya.co.id','$1$9JBRx$sEixyzOSwFNGeN2zy.flW1',1,0,'Pop
> User by
> CLI','/mailbox/domains/nama-domain-saya.co.id/samirr','10M',NULL),('theoltheol','nama-domain-saya.co.id','yyAsMsmD4Lr62',1,0,'theoltheol','/mailbox/domains/nama-domain-saya.co.id/1/theoltheol','10M',NULL),('aer.effendi','nama-domain-saya.co.id','$1$vEoGH$xpFZSRQzbXvbs6d4cpINN/',0,0,'aer.effendi','/mailbox/domains/nama-domain-saya.co.id/aer.effendi','10485760S',NULL);
>
> bagaimana ya ? saya coba pakai sed tidak ketemu caranya, mungkin kerna
> saya belum ahli pakai sed :D
menyisipkan di depan pattern pakai sed gampang, dengan subtitute,
grouping regex, dan back reference:
sed -e "s/\(pattern\)/'nama-domain-saya.co.id',\1/g"
mencari patternnya yang susah kalau inputnya seperti itu,
itu textnya seperti hasil dump database, kalau dengan mysqldump ada opsi
'--skip-extended-insert', menghasilkan satu baris untuk satu record,
mungkin lebih mudah untuk diproses.
--
Wardi