Saya mulai muak dengan bagaimana WinSCP mengacaukan jeda baris.
this is line 1
this is line 2
Akan berubah menjadi
this is line 1
this is line 2
Saya hanya bisa menggunakan FileZilla untuk FTP dan Putty untuk SCP (saya pikir dempul bisa mengatasinya) tetapi, itu agak menjengkelkan. Bagaimana saya bisa mengurangi masalah ini?
Jawaban:
Saya akan mengatakan bahwa komentar yang ditinggalkan oleh acidzombie24 adalah saran terbaik. Secara pribadi saya belum menemukan program FTP yang lebih baik daripada WinSCP. Saya sarankan Anda mengubah pengaturan Anda untuk mentransfer menggunakan Binary, dan menggunakan editor seperti NP ++ daripada editor in-house.
Berikut beberapa tangkapan layar:
sumber
Versi redsed dari WinSCP FAQ Mengapa baris file teks salah setelah file ditransfer atau diedit?
Lihat khususnya bagian Masalah yang Diketahui .
Setelah mentransfer atau mengedit file, mungkin saja terjadi jeda baris yang salah, yang mungkin bermanifestasi sebagai:
Format File Teks
Platform yang berbeda (sistem operasi) menggunakan format file teks yang berbeda. Format yang paling umum adalah format Unix dan Windows. Perbedaan utama adalah bahwa karakter atau urutan karakter yang berbeda digunakan untuk menandakan akhir suatu garis. Pada Unix, ini karakter LF (
\n
,0A
atau 10 dalam desimal). Pada Windows, ini adalah urutan dua karakter, CR dan LF (\r
+\n
,0D
+0A
atau 13 + 10 dalam desimal).Sementara banyak aplikasi dan sistem saat ini dapat bekerja dengan kedua format, beberapa memerlukan format tertentu. Saat menyajikan file dalam format lain, mereka gagal menampilkannya dengan benar, seperti dijelaskan di atas.
Mode Transfer Teks / ASCII
Untuk alasan ini, klien dan server transfer file mendukung mode transfer teks / ASCII . Saat mentransfer file dalam mode ini, file akan (idealnya) dikonversi dari format asli ke sistem sumber, ke format asli ke sistem target. Misalnya, ketika mengunggah file teks menggunakan mode teks dari sistem Windows ke Unix, ujung-ujung file bisa dikonversi dari CR + LF ke LF.
WinSCP secara default menggunakan mode transfer biner untuk semua file. Pelajari cara mengonfigurasinya untuk menggunakan mode transfer teks / ASCII . Anda mungkin juga perlu mengkonfigurasi format file teks sisi server yang benar .
Sebaliknya, ketika Anda ingin memaksa WinSCP untuk menggunakan mode biner, bahkan ketika mengedit file dalam editor teks, Anda harus menggunakan editor teks eksternal (editor internal WinSCP tidak mendukung format file Unix) dan mengkonfigurasi WinSCP untuk tidak memaksa mode teks untuk file yang diedit . Pastikan juga editor teks eksternal Anda menyimpan file dalam format yang Anda butuhkan (Sebagian besar editor teks saat ini mendukung format file teks yang berbeda, bukan hanya format asli ke platform yang dijalankan oleh editor).
Masalah yang Diketahui dengan Mode Transfer
Debugging Konversi File Teks
Jika mengaktifkan (atau menonaktifkan) mode transfer teks / ASCII tidak membantu masalah dan file yang Anda transfer / edit masih dianggap salah oleh sistem target, Anda perlu mengetahui pada langkah apa file dikonversi secara tidak benar (atau belum dikonversi).
Untuk mendeteksi ujung baris yang digunakan oleh file di Windows, gunakan perintah berikut pada konsol PowerShell untuk menampilkan hex dump dari 100 karakter pertama file yang diberikan (
example.txt
):Untuk file dengan konten berikut dalam format Windows
ini menampilkan:
Perhatikan dua urutan
0d 0a
(CR + LF) yang menunjukkan format Windows.Untuk mendeteksi akhir baris yang digunakan oleh file di sistem Unix / Linux gunakan perintah:
(Alternatifnya adalah
hexdump example.txt | head
atauod example.txt | head
.)Untuk file yang sama seperti di atas, hanya dalam format Unix, ini menampilkan:
Perhatikan karakter
0a
(LF) yang menunjukkan format Unix.Jika Anda tidak memiliki akses shell ke sistem jarak jauh, unduh file menggunakan pengkodean biner dan gunakan perintah PowerShell pada salinan identik biner lokal.
Gunakan teknik ini untuk mendeteksi, format apa yang dimiliki file sumber dan tujuan. Saat mengedit file, deteksi juga format salinan sementara lokal dari file yang diedit sebagaimana disimpan oleh editor. Lihat preferensi untuk lokasi salinan sementara .
Meminta Dukungan
Ketika hal di atas tidak membantu Anda memahami masalah dan Anda memutuskan untuk mencari dukungan lebih lanjut, sertakan semua temuan Anda, termasuk salinan file sumber dan tujuan. Saat mengedit file, sertakan juga salinan sementara lokal yang disimpan oleh editor. Kompres secara ideal (ZIP) file untuk menghindari browser Anda mengubah format file, ketika melampirkan file untuk mendukung permintaan.
(Saya penulis WinSCP)
sumber
=== SOLUSI Satunya Saya ===
Metode1:
-Buka file (dengan Notepad yaitu ++), buka jendela "Cari dan Ganti" [Ctrl + F] (centang "Diperpanjang" di bawah "Mode Pencarian"), lalu ketik \ r \ n di baris pertama, dan \ n di jendela kedua dan klik "Ganti semua" dan Simpan.
Metode2:
-dalam " Preferensi> Transer> Default " pilih " Otomatis (Mode Transfer) ";
-Kemudian di jendela " Teks ", atur kondisi seperti itu (tetapi saya belum mengujinya dengan baik):
jadi, sekarang masalah Anda dapat diperbaiki. banyak orang memiliki masalah ini, karena baris baru dihapus secara default (dalam beberapa kasus) oleh WINSCP ..
sumber
alt + e,e,u
Tidak ada lagi garis ganda di sini. Solusi saya adalah hapus centang "Paksa mode transfer teks untuk file di editor eksternal" di preferensi editor.
sumber