Ronny Haryanto wrote: > On Thu, May 25, 2006 at 04:35:37PM +0700, Yanu Widodo wrote: > >>btw, kalo ke dirinya sendiri malah jadi kosong mas erdwin. >>$sed -e 's/eksplorasi/exploration/' text.txt > text.txt >>tapi kalo di output kan ke file lain jadi ok. > > > Itu karena shell akan membuka file yang di sebelah kanan tanda ">" > dulu untuk ditulisi sebelum menjalankan perintahnya (dalam hal ini > sed) dan langsung meredirect outputnya ke file yg sudah dibuka tadi. > Dan karena ">" membukanya bukan mode append, maka isinya udah kosong > pada saat sed dijalankan. > > Jadi biasanya ya diredirect ke temp file dulu, baru direname/mv. >
Kalo tetep maksa pakai sed masih bisa sih, tapi command nya jadi lebih panjang, karena seperti yang pak Ronny katakan ... harus ada proses copy & remove file. Jadi seperti ini command nya: # (cp text.txt text.txt.$$ ; sed -e 's/eksplorasi/exploration/' text.txt.$$ > text.txt ; rm text.txt.$$) Perintah diatas harus dijalankan dalam 1 baris. Jadi lebih lama prosesnya karena harus mengcopy file dulu. > Kalo mau in-place editing (tanpa temp file) saya biasa pake option -i > nya perl: > > perl -pi -e 's/eksplorasi/exploration/g' text.txt > > Baca 'man perlrun' untuk info lebih lanjut. > > Ronny -- FAQ milis di http://wiki.linux.or.id/FAQ_milis_tanya-jawab Unsubscribe: kirim email ke [EMAIL PROTECTED] Arsip dan info milis selengkapnya di http://linux.or.id/milis