Konversi File Teks dari Format Windows ke UNIX dan Sebaliknya di GNU/Linux
Apabila kita sering melakukan pemrosesan data yang source nya file teks, seringkali pula kita berhadapan dengan masalah format. Format file teks yang ditulis di lingkungan OS Windows mempunyai format yang berbeda dengan yang ditulis di lingkungan UNIX, yaitu pada akhir barisnya. Format Windows menulis akhir baris sebagai gabungan 2 karakter ASCII yaitu <CR> (Carriage Return) dan <LF> (Line Feed). Sedangkan UNIX memproses akhir baris sebagai <LF> saja. Karakter
Solusi untuk masalah ini amat mudah karena di lingkungan UNIX cukup banyak tools yang bisa digunakan. Berikut ini beberapa alternatif yang bisa digunakan untuk mengkonversi format Windows -> UNIX bahkan bisa pula sebaliknya :
Utilitas tr
Dengan tr kita bisa membuang karakter <CR> dan Ctrl-Z dengan perintah berikut :
tr -d ‘\15\32′ < winfile.txt > unixfile.txt
Utilitas awk
Untuk mengkonversi file teks Windows ke UNIX gunakan perintah berikut :
awk ‘{ sub(”\r$”, “”); print }’ winfile.txt > unixfile.txt
Untuk mengkonversi file teks UNIX ke Windows gunakan perintah berikut :
awk ’sub(”$”, “\r”)’ unixfile.txt > winfile.txt
Script Perl
Untuk mengkonversi file teks Windows ke UNIX gunakan perintah berikut :
perl -p -e ’s/\r$//’ < winfile.txt > unixfile.txt
Untuk mengkonversi file teks UNIX ke Windows gunakan perintah berikut :
perl -p -e ’s/\n/\r\n/’ < unixfile.txt > winfile.txt
Utilitas vi
Untuk membuang semua karakter <CR> atau “^M” dari file teks Windows :
:1,$s/^M//g
Catatan: Untuk menginput “^M” di atas tekan Ctrl-v lalu tekan Enter
Utilitas flip
Bagi para debianer, ada util yang fleksibel untuk melakukan konversi ini yaitu flip. Secara default util ini belum terinstall.
Untuk mengkonversi file teks Windows ke UNIX gunakan perintah berikut :
flip -u winfile.txt
Tool ini juga mampu untuk mengkonversi beberapa file sekaligus dengan menggunakan wildcard sebagai parameter inputnya. Bila ingin mengkonversi semua file teks ke format UNIX :
flip -u *.txt
Selain itu, flip juga bisa membalik operasi untuk mengkonversi ke format Windows :
flip -m *.txt
