dos,unix格式文件转换

来源:互联网 发布:web数据挖掘技术 编辑:程序博客网 时间:2024/05/20 11:50

转:dos,unix格式文件转换

The UNIX end-of-line character is a line feed/newline character (/n). The DOS/Windows end-of-line character is a carriage return, followed by a line feed/newline (/r/n).

Most editors can automatically convert these to the appropriate format, but others, such as Notepad in Windows, cannot.

To convert a UNIX file to DOS usingsed(GNUsed3.02.80 or later):
$ sed 's/$//r/' UNIX_file > DOS_file

To convert a DOS file to UNIX file, usetrto remove the carriage return:
$ tr -d '/r' < DOS_file > UNIX_file

To accomplish the same thing using sed:
$ sed 's/^M//' DOS_file > UNIX_file

Note: To generate the^Mabove, pressCtrl-V, thenCtrl-M.

FTP'sASCIItransfer mode will automatically do the end-of-line conversion between DOS and UNIX systems.

Also, the commands dos2unixandunix2dosmay be used to perform. the conversion, if present on your system.

  • Emacs

    You can also convert aDOSfile nameddosfile.txtto aUnixtext file usingEmacs, aUnixtext editor. Enter at theUnixshell prompt:
    emacsdosfile.txt
    This will open the file in theEmacstext editor. To remove all the "^M" characters, type
    M-% C-q C-m RET RET !

    It may also be necessary to remove aCtrl-zat the end of the document. To quickly get to the end of the document inEmacs, type
    M->
    If you see aCtrl-zat the end of the document, delete it.

    To convert aUnixfile namedunixfile.txtto aDOStext file, first open it inEmacs. At theUnixshell prompt, enter
    emacsunixfile.txt
    This will open the file in theEmacstext editor. To add carriage returns, which will show up as^MinEmacs, type
    M-% C-q C-j RET C-q C-m C-q C-j RET !
    It may also be necessary to add aCtrl-zat the end of the document. At the very end of the document, press
    C-q C-z
原创粉丝点击