EOL: Paano i-convert ang isang file na text na uri ng DOS sa UNIX at kabaliktaran

Piliin ang DOS, menu ng editor ng teksto ng Unix

Sa simpleng ito sangguni, nilulutas namin ang isang maliit na kapahamakan na tiyak na mangyayari sa iyo. Maraming beses na nangyari sa amin na kapag nagbubukas ng isang .txt file sa Linux o Windows, ang teksto ay binago mula sa kung paano namin ito na-edit sa simula. Ang nangyayari ay sumali sa amin ang mga linya at hindi lumitaw ang mga puwang. Ito ay sapagkat ang uri ng UNIX na format ng file ng teksto ay naiiba mula sa uri ng DOS sa mga tuntunin ng karakter ng end-of-line (EOL) na pinagtatrabahuhan nila.

Para sa mga system ng UNIX, ang character ay isang "line feed / newline" o LF at tumutugma iyon sa \ n, kung program mo ito ay tutunog sa iyo. Habang sa Windows ang sistemang ginamit sa lumang DOS ay minana, iyon ay, isang "carriage return" na sinusundan ng isang "line feed / newline" (\ r \ n). Kung, halimbawa, na-edit namin ang file sa Linux at binubuksan namin ito sa Windows (at ang format na na-save namin ito ay hindi naaangkop), magkakaroon ng masayang problema ng pagkakaroon ng lahat ng teksto na na-paste nang walang puwang o putol ng linya.

Sa Linux madali itong mai-convert mula sa isang format patungo sa isa pa nang walang pag-install ng anumang bagay sa aming system, gamitin lamang ang mga utos na ito:

  • MULA SA DOS SA UNIX:

Gagamitin namin ang utos tr, sinundan ng -d parameter at ang naaangkop na EOL character. Gagamitin din namin ang bantog na "mga tubo" upang gumana kasama ang file ng teksto ng DOS ("filename") at ang nais naming mabuo na nai-convert sa format na UNIX ("filename"). Siyempre dapat muna nating gamitin ang utos ng cd upang pumunta sa folder kung saan matatagpuan ang file na mai-convert o mula sa graphic na interface ipasa ang file sa / Home (bilang default kung saan matatagpuan ang prompt):

tr -d '\n' < nombre_archivo > nombre_fichero</p>
  • MULA SA UNIX HANGGANG DALAWA:

Ngayon gagamitin namin ang utos uhaw upang ibahin ang anyo ng isang Unix file sa isang uri ng DOS. Para dito gagamitin namin ang sumusunod na syntax, palitan ang pangalan ng mga file para ma-convert ang file. Nais kong gumawa ng isang paglilinaw, tuwing nagsusulat ako ng file na nangangahulugan ako ng uri ng Unix at kapag inilagay ko ang file sa uri ng Windows / DOS.

sed 's/$/\r/' nombre_fichero > nombre_archivo</p>

Gayunpaman, sa mga modernong editor ng teksto, binibigyan na tayo nito ng pagpipilian ng "I-save bilang”Sa format na nais namin nang hindi kinakailangang gawin ito mula sa terminal. Ngunit laging magandang malaman ang higit pa tungkol sa linya ng utos ng Linux. Ang isa pang pagpipilian ay ang paggamit ng dalawang mga tool na idinisenyo para sa hangaring ito, dos2unix at unix2dos, ngunit sa maraming mga pamamahagi hindi sila nai-install bilang default at dapat na mai-install ...


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: AB Internet Networks 2008 SL
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   blahblah1233445 dijo

    Ang tamang pahayag ay
    tr -d 'r' filename