alasannya;
1. di file yang bang riza post, script sqlnya semua satu baris, biar
lebih gampang di format saya jadikan beberapa baris.
2. kemungkinan nama domain berubah-ubah, jadi nyari patternya perlu
nama domain n nama user.
3. saya gak tau cara yang lebih singkat bang, maafkanlah daku hehe2..

On 1/21/09, ahmad riza h nst <[email protected]> wrote:
>
> 2009/1/21 andi sn <[email protected]>:
>>
>> maaf baru gabung, coba klo kayak gini bang
>>
>
> thanks,
>
> aku belum sempat coba saran kamu, tapi kalau ada perintah yang
> sederhana dan hanya satu baris, apakah ada alasan yang kuat sehingga
> harus menggunakan kode yang panjang ? :)
>
>
>> # berubah.sh
>> # file test.txt yang mau di sed, test.tmp hasilnya
>> cat test.txt|sed "s/,(/\n(/g" > test.tmp
>> namauser=(`cat test.tmp|cut -d, -f1|gawk 'match($0,"[(](.*)",a){print
>> a[1]}'`)
>> namadomain=(`cat test.tmp|gawk 'match($0,"/mailbox/domains/(.*)/",a)
>> {print a[1]}'`)
>> arrcount=${#namauser[*]}
>>
>> i=0
>> while [ $i -lt $arrcount ]
>> do
>>   usernama=${namauser[$i]}
>>   domainnama=`echo ${namadomain[$i]}|cut -d'/' -f1`
>>   echo $usernama
>>   echo $domainnama
>>   cat test.tmp|sed "s/($usernama/($usernama,'$domainnama'/g" > test.tmp
>> (( i=i+1 ))
>> done
>>
>> On 1/19/09, Wardi <[email protected]> wrote:
>>>
>>> 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
>>>
>>
>>
>> --
>> Andi Sulistyo Nugroho
>> http://drakulil.wordpress.com
>>
>
>
>
> --
> http://blog.rizahnst.org
>


-- 
Andi Sulistyo Nugroho
http://drakulil.wordpress.com

Kirim email ke