GNU/Linux >> Belajar Linux >  >> Linux

DOS ke Unix:Perintah dan Contoh

Pendahuluan

File yang dibuat di DOS/Windows menggunakan carriage return (\r ) dan umpan baris (\n ) untuk akhir baris. Namun, file di Unix/Linux hanya menggunakan umpan baris.

Oleh karena itu, saat mentransfer file dari satu sistem ke sistem lain, pastikan untuk mengonversi file tersebut.

Dalam tutorial ini, Anda akan mempelajari cara mentransfer file dari DOS ke Unix dan sebaliknya.

Mengonversi File di Linux

Ada beberapa cara Anda dapat mentransfer file untuk menggunakan akhiran baris yang sesuai. Konversikan file menggunakan:

  • dos2unix perintah
  • unix2dos perintah
  • sed perintah (lihat tutorial perintah Linux sed)
  • tr perintah
  • Vi/Vim editor teks (lihat lembar contekan perintah Vim)
  • perl perintah satu baris

Opsi 1:Mengubah DOS ke UNIX dengan Perintah dos2unix

Cara paling sederhana untuk mengonversi jeda baris dalam file teks adalah dengan menggunakan dos2unix alat.

Instal alat dengan menjalankan perintah:

sudo apt install dos2unix

atau:

sudo dnf install dos2unix

Jika Anda mengunduh file yang dibuat dalam DOS/Windows ke sistem Linux, Anda dapat mengonversinya menggunakan dos2unix perintah:

dos2unix [file_name]

Perintah mengonversi file tanpa menyimpannya dalam format aslinya. Jika Anda ingin menyimpan file asli, tambahkan -b atribut sebelum nama file. Melakukannya akan membuat file cadangan dengan nama yang sama dan .bak ekstensi.

dos2unix -b [file_name]

Opsi 2:Mengubah UNIX ke DOS menggunakan Perintah unix2dos

Untuk mengonversi file yang dibuat di sistem Linux ke dalam format DOS, jalankan perintah:

unix2dos [file_name]

Atau, tambahkan -b atribut untuk menyimpan file asli sebagai cadangan:

unix2dos -b [file_name]

Opsi 3:Menggunakan Perintah sed

Anda juga dapat menggunakan sed (editor aliran) perintah untuk menghapus jalur kembali kereta akhir. Sintaks perintah untuk melakukannya adalah:

sed 's/^M$//' [original_file_name]>[converted_file_name]

Daripada hanya mengetik ^M , tekan Ctrl+V diikuti oleh Ctrl+M untuk memasukkan simbol carriage return. Saat menggunakan sed perintah, tentukan nama file DOS [original_file_name] dan bagaimana Anda ingin memberi nama file yang dikonversi [converted_file_name] .

Untuk mengubah format file dari Unix ke DOS , gunakan perintah:

sed 's/$/^M/' [original_file_name]>[converted_file_name]

Opsi 4:Menggunakan Perintah tr

Cara lain untuk mengonversi file ke dalam format Unix adalah dengan menghapus \r baris diakhiri dengan tr memerintah. tr command adalah utilitas baris perintah untuk menerjemahkan atau menghapus karakter.

Gunakan perintah dalam format berikut:

tr -d '\r' < [original_file_name]>[converted_file_name]

Opsi 5:Menggunakan Editor Teks Vim

Anda juga dapat menghapus akhir baris carriage return dari file dalam format DOS menggunakan editor teks Vi/Vim.
Buka file di Vi/Vim:

vi [file_name]

Kemudian tekan : dan ketik perintah Vi/Vim berikut (pastikan Anda mengetik Ctrl+V lalu Ctrl+m bukannya ^m ):

:%s/^ m //g

Opsi 6:Menggunakan Perl One Liner

Terakhir, Anda dapat menggunakan perintah one-liner Perl untuk menghapus semua \r akhir baris. Pearl on-liners adalah skrip yang muat dalam satu baris kode.

Untuk mengganti semua akhiran carriage return dan line feed dengan hanya line feed:

1. Buka file di editor teks Vi/Vim.

2. Tekan : untuk meminta baris perintah.

3. Ketik perintah berikut dan tekan Enter:

perl -pi -e 's/\r\n/\n/g' [file_name]

Anda akan segera melihat perubahan dalam file.

Contoh:Mengonversi File Contoh dari DOS ke Format Unix

Katakanlah Anda mengunduh file bernama sample-dos-file .

Dengan membuka file menggunakan editor teks Vim/Vi, Anda akan melihat bahwa setelah setiap baris berakhir ada ^M (carriage return).

Cara lain untuk melihat file menggunakan carriage return dan line feed untuk akhir baris adalah dengan melihat file dalam nilai oktal.

Untuk melakukannya, jalankan perintah:

od -bc sample-dos-file.txt

Output menampilkan isi file dengan nilai oktalnya, seperti pada gambar di bawah ini. Anda dapat melihat bahwa setiap akhir baris ditandai dengan nilai oktal 015 (\r) dan 012 (\n) .

Sekarang, untuk mengonversi file dan menghapus semua akhiran carriage return, Anda akan menjalankan perintah:

dos2unix sample-dos-file

Buka file yang sama di Vim/Vi. Itu tidak termasuk ^M simbol yang menandakan akhir baris.

Untuk mengonfirmasi file dalam format Unix, Anda juga dapat membuka tampilan konten dalam nilai oktal. Keluaran seharusnya hanya menampilkan 012 nilai untuk \n .


Linux
  1. Perintah Linux - Gambaran Umum dan Contoh

  2. Perintah Linux:pekerjaan, bg, dan fg

  3. File Contoh Perintah di Linux

  1. Perintah AWK Linux – Contoh Sintaks Penggunaan Linux dan Unix

  2. Perintah mv di Linux:7 Contoh Penting

  3. 6 mv Contoh Perintah untuk Memindahkan atau Mengganti Nama File dan Direktori Linux

  1. 10 Contoh Perintah Cat untuk Mengelola File di Linux / UNIX

  2. ln Contoh Perintah di Linux

  3. contoh perintah tail di UNIX/Linux