Saya baru saja pindah kembali ke Windows dari Linux. Saya memiliki beberapa file dengan CRLF, beberapa dengan LF dan beberapa yang dicampur. Apakah ada utilitas yang akan membantu saya menemukan semua file yang saya sentuh Unix dan mengonversinya menjadi file yang diakhiri CRLF dengan benar?
Utilitas harus dijalankan pada Windows, bukan Linux. Saya sudah pindah. Saya lebih suka tidak menginstal Cygwin jika saya bisa menghindarinya.
linux
windows
text-editing
newlines
file-conversion
Matthew Scouten
sumber
sumber
Jawaban:
Anda dapat mengonversinya dengan
unix2dos
utilitas di platform Linux Anda. Adaunix2dos
versi yang tersedia untuk Windows juga.Jika Anda memasang Perl, Anda juga dapat menggunakan liner satu ini:
sumber
Ini cara yang mudah dan cepat.
Seret dan jatuhkan file teks ke Chrome (saya tidak tahu tentang browser lain) dan kemudian potong dan tempel kembali ke file asli :)
sumber
Yang saya temukan terbaik untuk secara rekursif melalui folder, memungkinkan filter file dan memungkinkan pencarian sederhana untuk "\ r \ n" dan menggantinya dengan hanya "\ n" adalah Notepad ++ .
Notepad ++ adalah salah satu program notepad open source terbaik, gratis, untuk Windows. Ini sangat sederhana dan kuat. Ini menangani pencarian garis akhir / ganti saja. Seorang kontraktor memeriksa sekelompok file .c dan .h di repositori kami dengan akhiran Linux \ r \ n, tetapi karena sebagian besar orang telah distandarisasi pada alat bantu pembuatan Windows / Eclipse, file tidak akan dibangun sampai akhiran baris dikonversi .
sumber
Edit -> EOL Conversion
menu sederhana jika jumlah file yang dikonversi kecil.Gunakan Pisau File Swiss .
Misalnya:
sfk addcr -dir . -file .txt -norec
mengubah ujung LF menjadi CR / LF untuk Windows, pada semua file .txt dari direktori saat ini, tetapi BUKAN dalam subdirektori (tanpa rekursi).
Tetapi program ini melakukan lebih dari itu.
sumber
-norec
karena saya ingin rekursi terjadi tetapi sepertinya tidakDi Cygwin, Anda dapat mengonversi antara file Windows AKA Unix dan "DOS" menggunakan dua utilitas bawaan:
Konversikan ke format DOS CR / LF:
Konversi kembali ke format Unix CR:
File dibiarkan di tempat dengan nama yang sama.
Nikmati! Rick
sumber
dos2unix
atauunix2dos
jika Anda tidak dapat menemukannya sebagai u2d atau d2u. Ada jugaunix2mac
Saya akan membuang solusi ini di luar sana. Git akan melakukan ini. Lihat posting ini tentang itu
Jadi secara teoritis Anda bisa melakukan ini untuk mengubah seluruh pohon
Ubah
crlf
kelf
jika Anda ingin pergi ke arah lain. CATATAN: Anda belum selesai, terus membacaKetik
git status
untuk melihat file mana yang akan terpengaruh. Anda mungkin harus menambahkan baris sepertidll untuk
.gitattributes
menghindari konversi file tertentu. Anda juga dapat secara eksplisit menandai file tertentu sebagai teksKemudian ulangi saja 2 baris ini setelah Anda mengedit
.gitattributes
Kemudian gunakan
git status
lagi untuk melihat file mana yang akan diubah. Ketika Anda yakin semua file yang Anda inginkan terpengaruh terdaftargit status
saat itu komitsekarang periksa semua file lagi
Mereka sekarang harus memiliki apa pun yang Anda inginkan
** CATATAN: Jika Anda sudah menggunakan git, lewati 3 perintah pertama perintah git. Jika Anda tidak menggunakan git, Anda sekarang dapat menghapus
.gitattributes
file dan.git
folder.** Cadangkan file Anda:
git rm --cached -r
menghapus semuanya (walaupun secara teoritis ada di git repo Anda (folder .git) yang merupakan cara mereka dipulihkan oleh perintah terakhirgit reset --hard
. Hanya karena file dihapus, mungkin yang terbaik adalah mendukungnya naik.sumber
Gunakan editor teks yang memahami kedua ujung baris seperti SciTE , atau Notepad ++ jika Anda tidak perlu mengonversi semua baris yang diakhiri dengan semua file Anda, tetapi hanya tidak ingin melihat seluruh file berkumpul di baris pertama.
sumber
Ada banyak cara untuk menerjemahkan karakter eoln dalam file TEXT, dan setiap orang memiliki favorit.
Tapi saya selalu mentransfer file dari Linux ke Windows dalam mode BINARY, kemudian saya membuka file TEXT di Windows dengan editor yang mampu membuka kedua jenis, dan menyimpannya dalam bentuk apa pun, jika perlu.
Saya menggunakan Editor File Programmer untuk ini, tetapi Notepad ++ dapat melakukannya juga. WordPad juga berguna [setidaknya, untuk melihat file yang diakhiri LF].
Saya sedang memikirkan file teks sederhana yang mungkin berasal dari Linux, dan harus dapat dibaca di dunia (standar defacto) Windows. Saya tidak yakin apa yang Anda maksud dengan 'file yang belum disentuh'.
sumber
Untuk menawarkan lebih banyak opsi (meskipun saya paling menikmati jawaban hack pengguna45832 ):
Konverter online
Saya kira program FTP GUI akan melakukannya secara otomatis
Batch / DOS one-liner (menghapus baris kosong) :
Powershell:
Dapatkan dua yang terakhir dari sini
sumber
Dapatkan AWK untuk Windows .
Ubah ujung jalur Unix ke ujung jalur Windows:
Ubah ujung jalur Windows ke ujung garis Unix:
Versi yang lebih lama
awk
tidak termasuksub
fungsi. Dalam kasus seperti itu, gunakan perintah yang sama, tetapi gantiawk
dengangawk
ataunawk
.Sumber
sumber
Di Wikipedia ada solusi dalam cmd:
Di PowerShell ada berbagai cara untuk melakukannya dengan membalik apa yang dilakukan dalam pertanyaan ini .
Dimungkinkan juga untuk melakukan ini dalam VBScript dan JScript yang juga merupakan alat yang sudah tersedia di Windows tanpa menginstal aplikasi pihak ketiga.
sumber
Distribusi Linux saya memiliki dua utilitas kecil yang disebut
fromdos
dantodos
yang saya gunakan untuk tugas ini.sumber
Saya biasa membuka file di 'edit' dan menyimpan karena pekerjaan itu selesai ...
sumber
edit
DOS tetapi pertanyaan ini adalah tentang Windowsedit
digunakan untuk menjadi bagian dari Windows hinggaWindows XP
. Jawaban saya sekitar 8 tahun. Pada waktuedit
itu adalah bagian dari instalasi Windows dalam banyak kasus ...