Windows dan Unix menggunakan format yang berbeda dalam file teks mereka. Pada Windows, setiap baris diakhiri dengan karakter ASCII line feed dan carriage return (\n\r). Sementara itu pada Unix masing-masing baris dipisahkan dengan karakter ASCII line feed saja (\n). Di Unix, file format teks ini akan menampilkan karakter carriage return dengan Ctrl-M (^M) pada setiap akhir barisnya. Sangat jelas terlihat ketika sedang menyunting file menggunakan perintah vi.
Walaupun beberapa editor di Windows maupun di Linux menyediakan fungsi untuk konversi dari dari format Windows ke Unix dan sebaliknya, ternyata ada solusi yang lebih sederhana, yaitu menggunakan shell command di Unix, dengan menggunakan perintah tr untuk menghapus karakter-karakter carriage return. Berikut ini adalah contoh perintahnya :tr -d '\r' <> output_file
Perintah diatas akan menghilangkan karakter carriage return pada file input_file dan menyimpannya ke dalam file output_file.
Untuk mengkonversi file secara batch, misalnya dalam satu direktori dan termasuk subdirektorinya, dapat menggunakan cara-cara berikut ini:
- Buat file script dengan nama misalnya
convert.shyang berisi: - Mengubah permission dari file convert.sh menjadi executable dengan menjalankan perintah:
- Menjalankan perintah berikut untuk mengkonversi file secara batch:
temp="/tmp/temp.tmp"
files=$@
for file in $files
do
tr -d '\r' < $file > $temp
mv $temp $file
donechmod +x convert.shfind [directory] -name [pattern] -type f | xargs ./convert.shMisalkan semua file berekstensi *.txt pada direktori
/home/test berikut subdirektorinya akan dikonversi, maka perintahnya adalah:find /home/test -name *.txt -type f | xargs ./convert.sh
7 comments:
tr -d '\r' <> output_file
typo??
tip yg mantap. walopun kynya ga bakal gw pake hehehe...
ada aplikasi namanya dos2unix yg ada di paket tofrodos.
+1 @iang
ouwww.. pantes report gw di unix ada ^M dan ^L :P that explains a lot :P
Kalo ^M kan '\r\, Kalo ^L apa ko?
Tenkgyu Bro infonya...Sangat bermanfaat...Hehehe...
@kusut:
Hehehe, yang kayak bginian mah lo udah ga level kali
@iang:
Thx buat infonya. Kmaren waktu browsing juga dapet info dos2unix, cuma nggak tahu nama paketnya apa
@bobby:
^L? Waduh, gw baru tau tuh Bob. Dari googling sih itu katanya page mark character. Cuma nggak ngerti gimana caranya masukin karakter yg spt itu di Unix. Bisa minta sample nya? :P
cari2 paket mah di packages.ubuntu.com aja. kan ada tu bagian "Search the contents of packages"
Post a Comment