Ако някога сте прехвърлили директно текстов файл от система, основана на UNIX директно на Windows, знаете, че когато отворите текстовия файл на Windows, той обикновено не се показва правилно. Програмите за четене на текст на Windows (като Notepad) може да не могат да показват текста. В повечето случаи, когато отваряте текстовия файл, всички думи се показват на една гигантска линия без никакви прекъсвания. Това е така, защото има малка разлика в начина, по който текстовият документ е написан (и четен) на Windows и UNIX.

Ако файлът е написан на система, базирана на Windows и се отваря от текстов редактор на UNIX система, много често срещаните символи "Ctrl-M" (^ M) се показват в края на всеки ред текст. Ако файл е написан на UNIX система и е отворен от текстов редактор на система Windows, символ за прекъсване на реда (EOL) може да не се покаже правилно. Характелът за връщане на каретата е различен и за UNIX, и за Windows.

Докато се занимавате с файлове, не искате да бъдете ограничени от това дали файлът е създаден на Linux или Windows. И така, как да конвертирате файл от UNIX в Windows (или обратното), без да имате форматиране, да направите всичко лудо? Ще ви преведем през стъпалата.

Преобразуване на файлове от Linux / UNIX във формат Windows

Ако използвате система, базирана на UNIX, за да прехвърлите файловете на система Windows, има някои команди, които ви позволяват да конвертирате текстовите файлове, които прехвърляте във формат, който Windows може да разбере.

Командата dos2unix и unix2dos

Можете да използвате командния ред за безопасно конвертиране на файлове от UNIX в Windows и обратно. За да конвертирате текстов файл на Windows в текстов файл на UNIX, въведете следното:

 dos2unix windows.txt unix.txt 

Горната команда преобразува и замества файла "windows.txt" в "unix.txt". За да конвертирате текстов файл на UNIX в текстов файл на Windows, въведете тази команда:

 unix2dos unix.txt windows.txt 

Горната команда ще конвертира създаден от UNIX текстов файл, наречен "unix.txt", в текстов файл, съвместим с Windows, наречен "windows.txt".

Командата awk

Командата awk ви позволява да конвертирате файл от UNIX в Windows и обратно. За да конвертирате файл в Windows в UNIX файл, въведете следната команда:

 awk '{под ("\ r $", ""); print} 'windows.txt'> unix.txt 

За да конвертирате UNIX текстов файл, наречен "unix.txt", в текстов файл на Windows, наречен "windows.txt", въведете следната команда:

 awk 'sub ("$", "\ r")' uniz.txt> windows.txt 

Командата tr

Командата tr (transliterate) може да се използва за премахване на символите за връщане на каретата и знаците "Ctrl-Z" от файл с Windows. Това може да стане само ако конвертирате файл от Windows в UNIX. Командата ще бъде написана, както следва:

 tr -d '\ 15 \ 32' <winfile.txt> unixfile.txt 

Командата tr транслибрира един знак с друг. В този случай тя ви помага да пропуснете ненужните знаци.

Използване на Visual Editor (Vi)

Ако използвате Visual Editor, за да видите файл, създаден на система Windows, можете да премахнете символите за връщане на карето, като въведете следния команден ред:

 : 1, $ S / ^ М // г 

За да накарате компютъра да въведе символа ^ M, трябва да натиснете "Ctrl + v" и след това да натиснете Return.

Използване на програми за протокол за прехвърляне на файлове

Програмите за протокол за прехвърляне на файлове (FTP) са налични както за UNIX, така и за Windows. Ако трябва да конвертирате много файлове от Windows в UNIX (или обратно), тогава е добра идея да изтеглите FTP програма. Има много безплатни в интернет. Hummingbird FTP е една от най-популярните FTP програми там. Тя е сигурна и лесна за използване.

Повечето FTP програми ще прехвърлят файлове от UNIX към Windows във формат ASCII. Понякога трябва да посочите формата за себе си (ако използвате FTP програми, базирани на командния ред). За да направите това, просто го въведете в командния ред:

 ASCII 

заключение

Най-лесният начин да конвертирате файл от UNIX формат в Windows (и обратно) е да използвате FTP програма. Командите за преобразуване са вашият следващ най-добър залог. Ако търсите допълнителни команди, изпълняващи една и съща задача, можете да търсите команди за perl и sed . Имайте предвид, обаче, че тези команди може да не работят във всички системи.