On Mon, Jan 19, 2009 at 11:45:11AM +0700, ahmad riza h nst wrote:
> 
> 2009/1/19 Wardi <[email protected]>:
> >
> >
> > 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,
> 
> input nya satu baris koq bang, cuma mungkin waktu copy paste ke sini
> jadi berantakan.
> thanks buat sarannya, aku cuma ngga ngerti buat nyisip nya kerna
> selain karakter yang cocok itu selalu berubah juga kerna belum pernah
> pake \1 sebelumnya buat replace :)

maksudku kalau bisa satu record jadi satu baris (bukan keseluruhannya
satu baris), karena sed memproses perbaris, mencari patternnya mungkin
lebih gampang, menyisipkannya di belakang pattern, karena pattern  yang
di depan lebih mudah dilihat polanya.
kira-kira textnya menjadi:

INSERT INTO `vpopmail` VALUES ('postmaster','9rjSl4ONjIvtQ',...
INSERT INTO `vpopmail` VALUES ('mzachri','NeIRtv19MRCds',...
INSERT INTO `vpopmail` VALUES ('bekasi10','UVCI4BaPWvKak',...

trus diproses dengan sed:
  sed -e "s/\(^INSERT INTO .vpopmail. VALUES 
('[^']\+',\)/\1'nama-domain-saya.co.id',/"

perhatikan wrappingnya, command sed yang di atas itu seharusnya satu
baris.
-- 
Wardi

Kirim email ke