Initial Windows agent repository

This commit is contained in:
Frank Harris 2026-06-08 10:45:20 -05:00
commit a0db0c2e5b
10589 changed files with 3844063 additions and 0 deletions

View file

@ -0,0 +1,839 @@
<?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>dos2unix 7.5.6 - DOS/Mac - Unix&#x6587;&#x4ef6;&#x683c;&#x5f0f;&#x8f6c;&#x6362;&#x5668;</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:ASSI@walter.nonet" />
</head>
<body>
<ul id="index">
<li><a href="#pod">&#x540D;&#x79F0;</a></li>
<li><a href="#pod1">&#x6982;&#x8981;</a></li>
<li><a href="#pod2">&#x8BF4;&#x660E;</a></li>
<li><a href="#pod3">&#x9009;&#x9879;</a></li>
<li><a href="#Mac">Mac&#x6A21;&#x5F0F;</a></li>
<li><a href="#pod5">&#x8F6C;&#x6362;&#x6A21;&#x5F0F;</a></li>
<li><a href="#UNICODE">UNICODE</a>
<ul>
<li><a href="#pod6">&#x7F16;&#x7801;</a></li>
<li><a href="#pod7">&#x8F6C;&#x6362;</a></li>
<li><a href="#pod8">&#x5B57;&#x8282;&#x5E8F;&#x6807;&#x8BB0;</a></li>
<li><a href="#Windows-Unicode">Windows&#x4E2D;Unicode&#x6587;&#x4EF6;&#x7684;&#x6587;&#x4EF6;&#x540D;</a></li>
<li><a href="#Unicode">Unicode&#x793A;&#x4F8B;</a></li>
</ul>
</li>
<li><a href="#GB18030">GB18030</a></li>
<li><a href="#pod9">&#x793A;&#x4F8B;</a></li>
<li><a href="#pod10">&#x9012;&#x5F52;&#x8F6C;&#x6362;</a></li>
<li><a href="#pod11">&#x533A;&#x57DF;</a></li>
<li><a href="#pod12">&#x8FD4;&#x56DE;&#x503C;</a></li>
<li><a href="#pod13">&#x9075;&#x5FAA;&#x89C4;&#x8303;</a></li>
<li><a href="#pod14">&#x4F5C;&#x8005;</a></li>
<li><a href="#pod15">&#x53C2;&#x89C1;</a></li>
</ul>
<h1 id="pod">&#x540D;&#x79F0;</h1>
<p>dos2unix - DOS/Mac - Unix&#x6587;&#x4EF6;&#x683C;&#x5F0F;&#x8F6C;&#x6362;&#x5668;</p>
<h1 id="pod1">&#x6982;&#x8981;</h1>
<pre><code>dos2unix [&#x9009;&#x9879;] [&#x6587;&#x4EF6; &hellip;] [-n &#x8F93;&#x5165;&#x6587;&#x4EF6; &#x8F93;&#x51FA;&#x6587;&#x4EF6; ...]
unix2dos [&#x9009;&#x9879;] [&#x6587;&#x4EF6; &hellip;] [-n &#x8F93;&#x5165;&#x6587;&#x4EF6; &#x8F93;&#x51FA;&#x6587;&#x4EF6; ...]</code></pre>
<h1 id="pod2">&#x8BF4;&#x660E;</h1>
<p>&#x672C;dos2unix&#x8F6F;&#x4EF6;&#x5305;&#x5305;&#x62EC;<code>dos2unix</code>&#x548C;<code>unix2dos</code>&#x5DE5;&#x5177;&#xFF0C;&#x53EF;&#x7528;&#x4E8E;&#x5C06;&#x7EAF;&#x6587;&#x672C;&#x6587;&#x4EF6;&#x5728;DOS&#x6216;Mac&#x683C;&#x5F0F;&#x4E0E;Unix&#x683C;&#x5F0F;&#x4E4B;&#x95F4;&#x76F8;&#x4E92;&#x8F6C;&#x6362;&#x3002;</p>
<p>DOS/Windows&#x7684;&#x6587;&#x672C;&#x6587;&#x4EF6;&#x4E2D;&#xFF0C;&#x65AD;&#x884C;&#x7B26;&#x662F;&#x7531;&#x4E24;&#x4E2A;&#x5B57;&#x7B26;&#x5171;&#x540C;&#x8868;&#x793A;&#x7684;&#xFF1A;&#x56DE;&#x8F66;&#x7B26;&#xFF08;CR&#xFF09;&#x548C;&#x6362;&#x884C;&#x7B26;&#xFF08;LF&#xFF09;&#x3002;Unix&#x7684;&#x6587;&#x672C;&#x6587;&#x4EF6;&#x4E2D;&#xFF0C;&#x6362;&#x884C;&#x7B26;&#x5219;&#x7531;&#x5355;&#x4E2A;&#x6362;&#x884C;&#x7B26;&#xFF08;LF&#xFF09;&#x8868;&#x793A;&#x3002;&#x800C;Mac&#x7684;&#x6587;&#x672C;&#x6587;&#x4EF6;&#x5219;&#x7531;&#x5355;&#x4E2A;&#x56DE;&#x8F66;&#x7B26;&#xFF08;CR&#xFF0C;&#x7528;&#x4E8E;Mac OS X&#x4E4B;&#x524D;&#x7684;&#x7CFB;&#x7EDF;&#xFF09;&#x6216;&#x5355;&#x4E2A;&#x6362;&#x884C;&#x7B26;&#xFF08;LF&#xFF0C;&#x7528;&#x4E8E;&#x5F53;&#x4E0B;&#x7684;&#x65B0;Mac OS&#xFF09;&#x8868;&#x793A;&#x3002;</p>
<p>&#x9664;&#x4E86;&#x65AD;&#x884C;&#x7B26;&#xFF0C;dos2unix&#x8FD8;&#x53EF;&#x4EE5;&#x8F6C;&#x6362;&#x6587;&#x4EF6;&#x7F16;&#x7801;&#x3002;&#x4E00;&#x4E9B;DOS&#x7F16;&#x7801;&#x9875;&#x53EF;&#x4EE5;&#x88AB;&#x8F6C;&#x6362;&#x4E3A;Unix Latin-1&#xFF0C;Windows Unicode&#xFF08;UTF-16&#xFF09;&#x6587;&#x4EF6;&#x4E5F;&#x53EF;&#x4EE5;&#x88AB;&#x8F6C;&#x6362;&#x4E3A;Unix Unicode&#xFF08;UTF-8&#xFF09;&#x6587;&#x4EF6;&#x3002;</p>
<p>&#x4E8C;&#x8FDB;&#x5236;&#x6587;&#x4EF6;&#x5219;&#x4F1A;&#x88AB;&#x81EA;&#x52A8;&#x8DF3;&#x8FC7;&#xFF0C;&#x9664;&#x975E;&#x6307;&#x5B9A;&#x4E86;&#x5F3A;&#x5236;&#x8F6C;&#x6362;&#x9009;&#x9879;&#x3002;</p>
<p>&#x7279;&#x6B8A;&#x6587;&#x4EF6;&#xFF0C;&#x5982;&#x76EE;&#x5F55;&#x548C;&#x961F;&#x5217;&#xFF0C;&#x4F1A;&#x88AB;&#x81EA;&#x52A8;&#x8DF3;&#x8FC7;&#x3002;</p>
<p>&#x7B26;&#x53F7;&#x94FE;&#x63A5;&#x548C;&#x5176;&#x6240;&#x6307;&#x5411;&#x7684;&#x76EE;&#x6807;&#x9ED8;&#x8BA4;&#x4E0D;&#x4F1A;&#x88AB;&#x8F6C;&#x6362;&#x3002;&#x53EF;&#x4EE5;&#x7528;&#x9009;&#x9879;&#x6765;&#x6307;&#x5B9A;&#x66FF;&#x6362;&#x7B26;&#x53F7;&#x94FE;&#x63A5;&#xFF0C;&#x6216;&#x8005;&#x5C06;&#x8F93;&#x51FA;&#x5199;&#x5165;&#x5230;&#x94FE;&#x63A5;&#x76EE;&#x6807;&#x3002;Windows&#x4E0B;&#x4E0D;&#x652F;&#x6301;&#x5199;&#x5165;&#x5230;&#x7B26;&#x53F7;&#x94FE;&#x63A5;&#x7684;&#x76EE;&#x6807;&#x3002;</p>
<p>dos2unix&#x53C2;&#x7167;SunOS/Solaris&#x4E0B;&#x7684;&#x7248;&#x672C;&#x6539;&#x5199;&#x800C;&#x6210;&#x3002;&#x8FD9;&#x4E24;&#x4E2A;&#x7248;&#x672C;&#x95F4;&#x6709;&#x4E00;&#x4E2A;&#x91CD;&#x5927;&#x5DEE;&#x5F02;&#xFF1A;&#x672C;&#x7248;&#x672C;&#x9ED8;&#x8BA4;&#x8FDB;&#x884C;&#x539F;&#x4F4D;&#x8F6C;&#x6362;&#xFF08;&#x65E7;&#x6587;&#x4EF6;&#x6A21;&#x5F0F;&#xFF09;&#xFF0C;&#x800C;&#x539F;&#x6765;SunOS/Solaris&#x4E0B;&#x7684;&#x7248;&#x672C;&#x53EA;&#x652F;&#x6301;&#x914D;&#x5BF9;&#x8F6C;&#x6362;&#xFF08;&#x65B0;&#x6587;&#x4EF6;&#x6A21;&#x5F0F;&#xFF09;&#xFF0C;&#x53C2;&#x89C1;&#x9009;&#x9879; <code>-o</code> &#x548C; <code>-n</code>&#x3002;&#x8FD8;&#x6709;&#x4E00;&#x4E2A;&#x533A;&#x522B;&#x662F;SunOS/Solaris&#x4E0B;&#x7684;&#x7248;&#x672C;&#x9ED8;&#x8BA4;&#x4F7F;&#x7528; <i>iso</i> &#x6A21;&#x5F0F;&#xFF0C;&#x800C;&#x672C;&#x7248;&#x672C;&#x9ED8;&#x8BA4;&#x4F7F;&#x7528; <i>ascii</i> &#x6A21;&#x5F0F;&#x3002;</p>
<h1 id="pod3">&#x9009;&#x9879;</h1>
<dl>
<dt id="pod4"><b>--</b></dt>
<dd>
<p>&#x5C06;&#x540E;&#x9762;&#x6240;&#x6709;&#x7684;&#x9009;&#x9879;&#x5F53;&#x4F5C;&#x6587;&#x4EF6;&#x540D;&#x3002;&#x5982;&#x679C;&#x4F60;&#x5E0C;&#x671B;&#x8F6C;&#x6362;&#x4E00;&#x4E2A;&#x6587;&#x4EF6;&#x540D;&#x4EE5;&#x7834;&#x6298;&#x53F7;&#x5F00;&#x5934;&#x7684;&#x6587;&#x4EF6;&#xFF0C;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x8FD9;&#x4E2A;&#x9009;&#x9879;&#x3002;&#x4F8B;&#x5982;&#xFF0C;&#x8981;&#x8F6C;&#x6362;&#x4E00;&#x4E2A;&#x540D;&#x4E3A;&ldquo;-foo&rdquo;&#x7684;&#x6587;&#x4EF6;&#xFF0C;&#x4F60;&#x53EF;&#x4EE5;&#x7528;&#x8FD9;&#x4E2A;&#x547D;&#x4EE4;&#xFF1A;</p>
<pre><code>dos2unix -- -foo</code></pre>
<p>&#x6216;&#x8005;&#x5728;&#x65B0;&#x6587;&#x4EF6;&#x6A21;&#x5F0F;&#x4E0B;&#xFF1A;</p>
<pre><code>dos2unix -n -- -foo out.txt</code></pre>
</dd>
<dt id="allow-chown"><b>--allow-chown</b></dt>
<dd>
<p>&#x5728;&#x65E7;&#x6587;&#x4EF6;&#x6A21;&#x5F0F;&#x4E0B;&#xFF0C;&#x5141;&#x8BB8;&#x4FEE;&#x6539;&#x6587;&#x4EF6;&#x7684;&#x6240;&#x6709;&#x8005;&#x3002;</p>
<p>&#x82E5;&#x4F7F;&#x7528;&#x6B64;&#x9009;&#x9879;&#xFF0C;&#x5C06;&#x5141;&#x8BB8;&#x5728;&#x8F6C;&#x6362;&#x6587;&#x4EF6;&#x65F6;&#x539F;&#x59CB;&#x6587;&#x4EF6;&#x7684;&#x5C5E;&#x4E3B;&#x6216;&#x5C5E;&#x7EC4;&#x53D1;&#x751F;&#x53D8;&#x66F4;&#xFF0C;&#x7C7B;&#x4F3C;&#x4E8E;&#x4F7F;&#x7528;&#x65B0;&#x6587;&#x4EF6;&#x6A21;&#x5F0F;&#x8FDB;&#x884C;&#x8F6C;&#x6362;&#x3002;&#x53E6;&#x8BF7;&#x53C2;&#x89C1;&#x9009;&#x9879;<code>-o</code> &#x548C; <code>-n</code>&#x3002;&#x4EC5;&#x5F53; dos2unix &#x652F;&#x6301;&#x4FDD;&#x62A4;&#x6587;&#x4EF6;&#x7684;&#x5C5E;&#x4E3B;/&#x5C5E;&#x7EC4;&#x65F6;&#x624D;&#x80FD;&#x4F7F;&#x7528;&#x8BE5;&#x9009;&#x9879;&#x3002;</p>
</dd>
<dt id="ascii"><b>-ascii</b></dt>
<dd>
<p>&#x9ED8;&#x8BA4;&#x8F6C;&#x6362;&#x6A21;&#x5F0F;&#x3002;&#x3002;&#x53C2;&#x89C1; CONVERSION MODES &#x4E00;&#x8282;&#x3002;</p>
</dd>
<dt id="iso"><b>-iso</b></dt>
<dd>
<p>&#x5728;DOS&#x548C;ISO-8859-1&#x5B57;&#x7B26;&#x96C6;&#x4E4B;&#x95F4;&#x8F6C;&#x6362;&#x3002;&#x53C2;&#x89C1; CONVERSION MODES &#x4E00;&#x8282;&#x3002;</p>
</dd>
<dt id="pod-1252"><b>-1252</b></dt>
<dd>
<p>&#x4F7F;&#x7528;Windows 1252 &#x7F16;&#x7801;&#x9875;&#xFF08;&#x897F;&#x6B27;&#xFF09;&#x3002;</p>
</dd>
<dt id="pod-437"><b>-437</b></dt>
<dd>
<p>&#x4F7F;&#x7528;DOS 437 &#x7F16;&#x7801;&#x9875;&#xFF08;&#x7F8E;&#x56FD;&#xFF09;&#x3002;&#x8FD9;&#x662F;ISO&#x8F6C;&#x6362;&#x65F6;&#x7684;&#x9ED8;&#x8BA4;&#x7F16;&#x7801;&#x9875;&#x3002;</p>
</dd>
<dt id="pod-850"><b>-850</b></dt>
<dd>
<p>&#x4F7F;&#x7528;DOS 850 &#x7F16;&#x7801;&#x9875;&#xFF08;&#x897F;&#x6B27;&#xFF09;&#x3002;</p>
</dd>
<dt id="pod-860"><b>-860</b></dt>
<dd>
<p>&#x4F7F;&#x7528;DOS 860 &#x7F16;&#x7801;&#x9875;&#xFF08;&#x8461;&#x8404;&#x7259;&#xFF09;&#x3002;</p>
</dd>
<dt id="pod-863"><b>-863</b></dt>
<dd>
<p>&#x4F7F;&#x7528;DOS 863 &#x7F16;&#x7801;&#x9875;&#xFF08;&#x52A0;&#x62FF;&#x5927;&#x6CD5;&#x8BED;&#xFF09;&#x3002;</p>
</dd>
<dt id="pod-865"><b>-865</b></dt>
<dd>
<p>&#x4F7F;&#x7528;DOS 865 &#x7F16;&#x7801;&#x9875;&#xFF08;&#x5317;&#x6B27;&#xFF09;&#x3002;</p>
</dd>
<dt id="pod-7"><b>-7</b></dt>
<dd>
<p>&#x5C06;8&#x4F4D;&#x5B57;&#x7B26;&#x8F6C;&#x6362;&#x5230;7&#x4F4D;&#x7A7A;&#x95F4;&#x3002;</p>
</dd>
<dt id="b---keep-bom"><b>-b, --keep-bom</b></dt>
<dd>
<p>&#x4FDD;&#x7559;&#x5B57;&#x8282;&#x5E8F;&#x6807;&#x8BB0;&#xFF08;BOM&#xFF09;&#x3002;&#x5F53;&#x8F93;&#x5165;&#x6587;&#x4EF6;&#x542B;&#x6709;BOM&#x5934;&#x65F6;&#xFF0C;&#x4E5F;&#x5411;&#x8F93;&#x51FA;&#x6587;&#x4EF6;&#x5199;&#x5165;BOM&#x3002;&#x8FD9;&#x662F;&#x8F6C;&#x6362;&#x5230;DOS&#x65AD;&#x884C;&#x7B26;&#x65F6;&#x7684;&#x9ED8;&#x8BA4;&#x884C;&#x4E3A;&#x3002;&#x53C2;&#x89C1;&#x9009;&#x9879; <code>-r</code>&#x3002;</p>
</dd>
<dt id="c---convmode"><b>-c, --convmode &#x8F6C;&#x6362;&#x6A21;&#x5F0F;</b></dt>
<dd>
<p>&#x6539;&#x53D8;&#x8F6C;&#x6362;&#x6A21;&#x5F0F;&#x3002;&#x8F6C;&#x6362;&#x6A21;&#x5F0F;&#x53EF;&#x4EE5;&#x4E3A;&#xFF1A;<i>ascii</i>&#x3001;<i>7bit</i>&#x3001;<i>iso</i>&#x6216;<i>mac</i>&#xFF0C;&#x9ED8;&#x8BA4;&#x4E3A;ascii&#x3002;</p>
</dd>
<dt id="D---display-enc-ENCODAGE"><b>-D, --display-enc ENCODAGE</b></dt>
<dd>
<p>&#x8BBE;&#x7F6E;&#x663E;&#x793A;&#x6587;&#x672C;&#x7684;&#x7F16;&#x7801;&#x3002;&#x7F16;&#x7801;&#x53EF;&#x4EE5;&#x4E3A;&#xFF1A;<i>ansi</i>&#x3001;<i>unicode</i>&#x3001;<i>unicodebom</i>&#x3001;<i>utf8</i>&#x3001;<i>utf8bom</i>&#xFF0C;&#x9ED8;&#x8BA4;&#x4E3A; ansi&#x3002;</p>
<p>&#x8FD9;&#x4E00;&#x9009;&#x9879;&#x53EA;&#x5BF9;&#x652F;&#x6301;Unicode&#x6587;&#x4EF6;&#x540D;&#x7684;Windows&#x7248;dos2unix&#x6709;&#x6548;&#x3002;&#x5B83;&#x5BF9;&#x6587;&#x4EF6;&#x540D;&#x7684;&#x8BFB;&#x5199;&#x65E0;&#x6548;&#xFF0C;&#x53EA;&#x5F71;&#x54CD;&#x5B83;&#x4EEC;&#x7684;&#x663E;&#x793A;&#x7ED3;&#x679C;&#x3002;</p>
<p>&#x5728;Windows&#x63A7;&#x5236;&#x53F0;&#x4E2D;&#xFF0C;&#x6709;&#x51E0;&#x79CD;&#x53EF;&#x4EE5;&#x6839;&#x636E;&#x6587;&#x672C;&#x7F16;&#x7801;&#x6765;&#x663E;&#x793A;&#x6587;&#x672C;&#x7684;&#x65B9;&#x6CD5;&#x3002;&#x5B83;&#x4EEC;&#x5404;&#x6709;&#x5229;&#x5F0A;&#x3002;</p>
<dl>
<dt id="ansi"><b>ansi</b></dt>
<dd>
<p>dos2unix&#x9ED8;&#x8BA4;&#x4F7F;&#x7528;ANSI&#x7F16;&#x7801;&#x6587;&#x672C;&#x3002;&#x4F18;&#x70B9;&#x662F;&#x5B83;&#x80FD;&#x63D0;&#x4F9B;&#x5411;&#x540E;&#x517C;&#x5BB9;&#x6027;&#xFF0C;&#x5E76;&#x80FD;&#x7528;&#x4E8E;raster&#x548C;TrueType&#x5B57;&#x4F53;&#x3002;&#x5728;&#x4E00;&#x4E9B;&#x5730;&#x65B9;&#xFF0C;&#x4F60;&#x53EF;&#x80FD;&#x9700;&#x8981;&#x4F7F;&#x7528; <code>chcp</code> &#x547D;&#x4EE4;&#x5C06;&#x6D3B;&#x52A8;DOS OEM&#x7F16;&#x7801;&#x9875;&#x8BBE;&#x7F6E;&#x4E3A;Windows&#x7CFB;&#x7EDF;ANSI&#x7F16;&#x7801;&#x9875;&#xFF0C;&#x56E0;&#x4E3A;dos2unix&#x4F7F;&#x7528;Windows&#x7CFB;&#x7EDF;&#x7F16;&#x7801;&#x9875;&#x3002;</p>
<p>ansi&#x7684;&#x7F3A;&#x70B9;&#x662F;&#x542B;&#x6709;&#x975E;&#x7CFB;&#x7EDF;&#x9ED8;&#x8BA4;&#x7F16;&#x7801;&#x9875;&#x4E2D;&#x5B57;&#x7B26;&#x7684;&#x56FD;&#x9645;&#x5316;&#x6587;&#x4EF6;&#x540D;&#x5C06;&#x65E0;&#x6CD5;&#x88AB;&#x6B63;&#x786E;&#x663E;&#x793A;&#x3002;&#x4F60;&#x4F1A;&#x770B;&#x5230;&#x4E00;&#x4E9B;&#x95EE;&#x53F7;&#x6216;&#x5176;&#x4ED6;&#x9519;&#x8BEF;&#x7684;&#x5B57;&#x7B26;&#x3002;&#x5982;&#x679C;&#x4F60;&#x4E0D;&#x9700;&#x8981;&#x5904;&#x7406;&#x5916;&#x6587;&#x6587;&#x4EF6;&#x540D;&#xFF0C;&#x8FD9;&#x4E00;&#x65B9;&#x6CD5;&#x662F;&#x4E0D;&#x9519;&#x7684;&#x9009;&#x62E9;&#x3002;</p>
</dd>
<dt id="unicode-unicodebom"><b>unicode&#xFF0C;unicodebom</b></dt>
<dd>
<p>Unicode&#x7F16;&#x7801;&#xFF08;Windows&#x4E2D;&#x5BF9;UTF-16&#x7684;&#x79F0;&#x547C;&#xFF09;&#x7684;&#x4F18;&#x70B9;&#x662F;&#x6587;&#x672C;&#x53EF;&#x4EE5;&#x88AB;&#x6B63;&#x786E;&#x663E;&#x793A;&#xFF0C;&#x4E5F;&#x65E0;&#x9700;&#x6539;&#x53D8;&#x6D3B;&#x52A8;&#x7F16;&#x7801;&#x9875;&#x3002;&#x4F60;&#x53EF;&#x80FD;&#x9700;&#x8981;&#x8BBE;&#x7F6E;&#x7EC8;&#x7AEF;&#x5B57;&#x4F53;&#x4E3A;TrueType&#x4EE5;&#x4FBF;&#x6B63;&#x786E;&#x663E;&#x793A;&#x56FD;&#x9645;&#x5316;&#x5B57;&#x7B26;&#x3002;&#x5982;&#x679C;TrueType&#x5B57;&#x4F53;&#x4E2D;&#x4E0D;&#x5305;&#x542B;&#x67D0;&#x4E2A;&#x5B57;&#x7B26;&#xFF0C;&#x4F60;&#x4F1A;&#x770B;&#x5230;&#x4E00;&#x4E2A;&#x5C0F;&#x65B9;&#x5757;&#xFF0C;&#x6709;&#x65F6;&#x65B9;&#x5757;&#x4E2D;&#x8FD8;&#x4F1A;&#x6709;&#x4E00;&#x4E2A;&#x95EE;&#x53F7;&#x3002;</p>
<p>&#x5F53;&#x4F60;&#x4F7F;&#x7528;ConEmu&#x7EC8;&#x7AEF;&#x65F6;&#xFF0C;&#x6240;&#x4EE5;&#x7684;&#x6587;&#x672C;&#x5C06;&#x4F1A;&#x88AB;&#x6B63;&#x786E;&#x663E;&#x793A;&#xFF0C;&#x56E0;&#x4E3A;ConEmu&#x4F1A;&#x81EA;&#x52A8;&#x9009;&#x62E9;&#x5408;&#x9002;&#x7684;&#x5B57;&#x4F53;&#x3002;</p>
<p>Unicode&#x7684;&#x7F3A;&#x70B9;&#x5728;&#x4E8E;&#x5B83;&#x4E0E;ASCII&#x4E0D;&#x517C;&#x5BB9;&#x3002;&#x5F53;&#x4F60;&#x5C06;&#x8F93;&#x51FA;&#x91CD;&#x5B9A;&#x5411;&#x5230;&#x5176;&#x4ED6;&#x7A0B;&#x5E8F;&#x6216;&#x6587;&#x4EF6;&#x65F6;&#xFF0C;&#x5B83;&#x53EF;&#x80FD;&#x4E0D;&#x90A3;&#x4E48;&#x5BB9;&#x6613;&#x5904;&#x7406;&#x3002;</p>
<p>&#x5F53;&#x4F7F;&#x7528; <code>unicodebom</code> &#x65B9;&#x6CD5;&#x65F6;&#xFF0C;&#x5C06;&#x4F1A;&#x5728;Unicode&#x6587;&#x672C;&#x524D;&#x6DFB;&#x52A0;&#x4E00;&#x4E2A;BOM&#xFF08;&#x5B57;&#x8282;&#x5E8F;&#x6807;&#x8BB0;&#xFF09;&#x3002;&#x5728;PowerShell&#x4E2D;&#xFF0C;&#x9700;&#x8981;&#x6839;&#x636E;BOM&#x6765;&#x8FDB;&#x884C;&#x6B63;&#x786E;&#x7684;&#x91CD;&#x5B9A;&#x5411;&#x6216;&#x7BA1;&#x9053;&#x8F93;&#x51FA;&#x3002;</p>
</dd>
<dt id="utf8-utf8bom"><b>utf8&#xFF0C;utf8bom</b></dt>
<dd>
<p>utf8&#x7684;&#x4F18;&#x70B9;&#x5728;&#x4E8E;&#x5B83;&#x4E0E;ASCII&#x517C;&#x5BB9;&#x3002;&#x4F60;&#x9700;&#x8981;&#x8BBE;&#x7F6E;&#x7EC8;&#x7AEF;&#x7684;&#x5B57;&#x4F53;&#x4E3A;TrueType&#x5B57;&#x4F53;&#x3002;&#x4F7F;&#x7528;TrueType&#x5B57;&#x4F53;&#x53EF;&#x4EE5;&#x4F7F;&#x5F97;&#x6587;&#x672C;&#x5F97;&#x4EE5;&#x6B63;&#x786E;&#x663E;&#x793A;&#xFF0C;&#x5C31;&#x50CF;&#x4F7F;&#x7528; <code>unicode</code> &#x7F16;&#x7801;&#x65F6;&#x90A3;&#x6837;&#x3002;</p>
<p>&#x7F3A;&#x70B9;&#x662F;&#x5F53;&#x4F60;&#x4F7F;&#x7528;&#x9ED8;&#x8BA4;&#x7684;raster&#x5B57;&#x4F53;&#x65F6;&#xFF0C;&#x6240;&#x6709;&#x7684;&#x975E;ASCII&#x5B57;&#x7B26;&#x5C06;&#x65E0;&#x6CD5;&#x88AB;&#x6B63;&#x786E;&#x663E;&#x793A;&#x3002;&#x4E0D;&#x4EC5;&#x662F;unicode&#x6587;&#x4EF6;&#x540D;&#xFF0C;&#x8FDE;&#x7FFB;&#x8BD1;&#x7684;&#x6D88;&#x606F;&#x4E5F;&#x65E0;&#x6CD5;&#x88AB;&#x8BFB;&#x53D6;&#x3002;&#x5728;&#x914D;&#x7F6E;&#x4E3A;&#x4E1C;&#x4E9A;&#x5730;&#x533A;&#x7684;Windows&#x4E2D;&#xFF0C;&#x5F53;&#x7EC8;&#x7AEF;&#x4E2D;&#x663E;&#x793A;&#x8FD9;&#x4E9B;&#x6D88;&#x606F;&#x65F6;&#x4F60;&#x53EF;&#x80FD;&#x4F1A;&#x770B;&#x5230;&#x95EA;&#x70C1;&#x73B0;&#x8C61;&#x3002;</p>
<p>&#x5728;ConEmu&#x7EC8;&#x7AEF;&#x4E2D;&#xFF0C;utf&#x7F16;&#x7801;&#x65B9;&#x5F0F;&#x53EF;&#x4EE5;&#x6B63;&#x5E38;&#x5DE5;&#x4F5C;&#x3002;</p>
<p>&#x5F53;&#x4F7F;&#x7528; <code>utf8bom</code> &#x65B9;&#x6CD5;&#x65F6;&#xFF0C;&#x5C06;&#x4F1A;&#x5728;Unicode&#x6587;&#x672C;&#x524D;&#x6DFB;&#x52A0;&#x4E00;&#x4E2A;BOM&#xFF08;&#x5B57;&#x8282;&#x5E8F;&#x6807;&#x8BB0;&#xFF09;&#x3002;&#x5728;PowerShell&#x4E2D;&#xFF0C;&#x9700;&#x8981;&#x6839;&#x636E;BOM&#x6765;&#x8FDB;&#x884C;&#x6B63;&#x786E;&#x7684;&#x91CD;&#x5B9A;&#x5411;&#x6216;&#x7BA1;&#x9053;&#x8F93;&#x51FA;&#x3002;</p>
</dd>
</dl>
<p>&#x9ED8;&#x8BA4;&#x7684;&#x7F16;&#x7801;&#x65B9;&#x5F0F;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x8BBE;&#x7F6E; DOS2UNIX_DISPLAY_ENC &#x73AF;&#x5883;&#x53D8;&#x91CF;&#x4E3A; <code>unicode</code> &#x3001;<code>unicodebom</code>&#x3001;<code>utf8</code> &#x6216; <code>utf8bom</code> &#x6765;&#x6539;&#x53D8;&#x3002;</p>
</dd>
<dt id="e---add-eol"><b>-e, --add-eol</b></dt>
<dd>
<p>&#x5982;&#x679C;&#x6587;&#x4EF6;&#x672B;&#x5C3E;&#x7F3A;&#x5C11;&#x6362;&#x884C;&#x7B26;&#xFF0C;&#x5219;&#x8FFD;&#x52A0;&#x4E00;&#x4E2A;&#x6362;&#x884C;&#x7B26;&#x3002;&#x6BCF;&#x6B21;&#x8F6C;&#x6362;&#x65F6;&#x5747;&#x6267;&#x884C;&#x6B64;&#x64CD;&#x4F5C;&#x3002;</p>
<p>&#x4ECE;DOS&#x8F6C;&#x6362;&#x81F3;Unix&#x683C;&#x5F0F;&#x7684;&#x6587;&#x4EF6;&#x7684;&#x672B;&#x5C3E;&#x53EF;&#x80FD;&#x7F3A;&#x5C11;&#x6362;&#x884C;&#x7B26;&#xFF1B;&#x90E8;&#x5206;&#x6587;&#x672C;&#x7F16;&#x8F91;&#x5668;&#x4E5F;&#x4F1A;&#x4E3B;&#x52A8;&#x5FFD;&#x7565;&#x6587;&#x672C;&#x6587;&#x4EF6;&#x672B;&#x5C3E;&#x7684;&#x6362;&#x884C;&#x7B26;&#x3002;&#x7531;&#x4E8E;POSIX&#x89C4;&#x8303;&#x8981;&#x6C42;&#x6587;&#x672C;&#x6587;&#x4EF6;&#x4E2D;&#x7684;&#x6BCF;&#x4E00;&#x884C;&#x5FC5;&#x987B;&#x4EE5;&#x6362;&#x884C;&#x7B26;&#x7ED3;&#x5C3E;&#xFF0C;&#x90E8;&#x5206;Unix&#x7A0B;&#x5E8F;&#x5728;&#x5904;&#x7406;&#x6B64;&#x7C7B;&#x7F3A;&#x5C11;&#x672B;&#x5C3E;&#x6362;&#x884C;&#x7B26;&#x7684;&#x6587;&#x4EF6;&#x65F6;&#x53EF;&#x80FD;&#x5B58;&#x5728;&#x95EE;&#x9898;&#xFF0C;&#x4F8B;&#x5982;&#xFF1A;&#x62FC;&#x63A5;&#x4E24;&#x4E2A;&#x6587;&#x672C;&#x6587;&#x4EF6;&#x65F6;&#xFF0C;&#x7B2C;&#x4E00;&#x4E2A;&#x6587;&#x4EF6;&#x7684;&#x6700;&#x540E;&#x4E00;&#x884C;&#x4F1A;&#x76F4;&#x63A5;&#x4E0E;&#x7B2C;&#x4E8C;&#x4E2A;&#x6587;&#x4EF6;&#x7684;&#x7B2C;&#x4E00;&#x884C;&#x76F8;&#x8FDE;&#xFF0C;&#x4ECE;&#x800C;&#x4EA7;&#x751F;&#x975E;&#x9884;&#x671F;&#x7684;&#x7ED3;&#x679C;&#x3002;</p>
</dd>
<dt id="error-binary"><b>--error-binary</b></dt>
<dd>
<p>Return an error if a binary file is skipped.</p>
</dd>
<dt id="f---force"><b>-f, --force</b></dt>
<dd>
<p>&#x5F3A;&#x5236;&#x8F6C;&#x6362;&#x4E8C;&#x8FDB;&#x5236;&#x6587;&#x4EF6;&#x3002;</p>
</dd>
<dt id="gb---gb18030"><b>-gb, --gb18030</b></dt>
<dd>
<p>&#x5728;Windows&#x4E2D;&#xFF0C;UTF-16&#x9ED8;&#x8BA4;&#x88AB;&#x8F6C;&#x6362;&#x4E3A;UTF-8&#x683C;&#x5F0F;&#xFF0C;&#x65E0;&#x8BBA;&#x533A;&#x57DF;&#x8BBE;&#x7F6E;&#x4E3A;&#x4F55;&#x3002;&#x8BF7;&#x4F7F;&#x7528;&#x8FD9;&#x4E00;&#x9009;&#x9879;&#x5C06;UTF-16&#x6587;&#x4EF6;&#x8F6C;&#x6362;&#x4E3A;GB18030&#x683C;&#x5F0F;&#x3002;&#x6B64;&#x9009;&#x9879;&#x53EA;&#x5728;Windows&#x4E0B;&#x6709;&#x6548;&#x3002;&#x53C2;&#x52A0; GB18030 &#x4E00;&#x8282;&#x3002;</p>
</dd>
<dt id="h---help"><b>-h, --help</b></dt>
<dd>
<p>&#x663E;&#x793A;&#x5E2E;&#x52A9;&#xFF0C;&#x7136;&#x540E;&#x9000;&#x51FA;&#x3002;</p>
</dd>
<dt id="i---info"><b>-i[&#x6807;&#x5FD7;], --info[=&#x6807;&#x5FD7;] &#x6587;&#x4EF6; &hellip;</b></dt>
<dd>
<p>&#x663E;&#x793A;&#x6587;&#x4EF6;&#x4FE1;&#x606F;&#x3002;&#x4E0D;&#x8FDB;&#x884C;&#x8F6C;&#x6362;&#x3002;</p>
<p>&#x5C06;&#x4F1A;&#x663E;&#x793A;&#x4E0B;&#x5217;&#x4FE1;&#x606F;&#xFF08;&#x6309;&#x987A;&#x5E8F;&#xFF09;&#xFF1A;DOS&#x65AD;&#x884C;&#x7B26;&#x7684;&#x6570;&#x91CF;&#x3001;Unix&#x65AD;&#x884C;&#x7B26;&#x7684;&#x6570;&#x91CF;&#x3001;Mac&#x65AD;&#x884C;&#x7B26;&#x7684;&#x6570;&#x91CF;&#x3001;&#x662F;&#x5426;&#x6709;BOM&#x3001;&#x6587;&#x672C;/&#x4E8C;&#x8FDB;&#x5236;&#x3001;&#x6587;&#x4EF6;&#x540D;&#x3002;</p>
<p>&#x8F93;&#x51FA;&#x793A;&#x4F8B;&#xFF1A;</p>
<pre><code> 6 0 0 no_bom text dos.txt
0 6 0 no_bom text unix.txt
0 0 6 no_bom text mac.txt
6 6 6 no_bom text mixed.txt
50 0 0 UTF-16LE text utf16le.txt
0 50 0 no_bom text utf8unix.txt
50 0 0 UTF-8 text utf8dos.txt
2 418 219 no_bom binary dos2unix.exe</code></pre>
<p>&#x6CE8;&#x610F;&#xFF0C;&#x4E8C;&#x8FDB;&#x5236;&#x6587;&#x4EF6;&#x6709;&#x65F6;&#x4F1A;&#x88AB;&#x8BEF;&#x5224;&#x4E3A;&#x6587;&#x672C;&#x6587;&#x4EF6;&#x3002;&#x53C2;&#x89C1;&#x9009;&#x9879; <code>-s</code>&#x3002;</p>
<p>&#x5982;&#x679C;&#x989D;&#x5916;&#x4F7F;&#x7528;&#x4E86; <code>-e</code> &#x6216; <code>--add-eol</code> &#x9009;&#x9879;&#xFF0C;&#x5219;&#x6700;&#x540E;&#x4E00;&#x884C;&#x7684;&#x65AD;&#x884C;&#x7B26;&#x7C7B;&#x578B;&#x4E5F;&#x4F1A;&#x88AB;&#x663E;&#x793A;&#xFF0C;&#x6216;&#x8005;&#x5728;&#x7F3A;&#x5931;&#x7684;&#x60C5;&#x51B5;&#x4E0B;&#x663E;&#x793A; <code>noeol</code>&#x3002;</p>
<p>&#x8F93;&#x51FA;&#x793A;&#x4F8B;&#xFF1A;</p>
<pre><code>6 0 0 no_bom text dos dos.txt
0 6 0 no_bom text unix unix.txt
0 0 6 no_bom text mac mac.txt
1 0 0 no_bom text noeol noeol_dos.txt</code></pre>
<p>&#x53EF;&#x4EE5;&#x4E3A;&#x8F93;&#x51FA;&#x8BBE;&#x7F6E;&#x989D;&#x5916;&#x7684;&#x6807;&#x5FD7;&#xFF08;&#x4E00;&#x4E2A;&#x6216;&#x591A;&#x4E2A;&#xFF09;&#x3002;</p>
<dl>
<dt id="pod0"><b>0</b></dt>
<dd>
<p>&#x4F7F;&#x7528;&#x96F6;&#x5B57;&#x7B26;&#xFF08;&quot;\0&quot;&#xFF09;&#x800C;&#x975E;&#x6362;&#x884C;&#x7B26;&#x6765;&#x5206;&#x5272;&#x6587;&#x4EF6;&#x4FE1;&#x606F;&#x884C;&#x3002;&#x7528;&#x4E8E;&#x5728;&#x6307;&#x5B9A;&#x4E86; c &#x9009;&#x9879;&#x7684;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x6B63;&#x786E;&#x89E3;&#x6790;&#x542B;&#x6709;&#x7A7A;&#x683C;&#x6216;&#x5F15;&#x53F7;&#x7684;&#x6587;&#x4EF6;&#x540D;&#x3002;&#x8BF7;&#x7ED3;&#x5408; xargs(1) &#x7684;&#x9009;&#x9879; <code>-0</code> &#x6216; <code>--null</code> &#x6765;&#x4F7F;&#x7528;&#x3002;</p>
</dd>
<dt id="d"><b>d</b></dt>
<dd>
<p>&#x663E;&#x793A;DOS&#x65AD;&#x884C;&#x7B26;&#x7684;&#x6570;&#x91CF;&#x3002;</p>
</dd>
<dt id="u"><b>u</b></dt>
<dd>
<p>&#x663E;&#x793A;Unix&#x65AD;&#x884C;&#x7B26;&#x7684;&#x6570;&#x91CF;&#x3002;</p>
</dd>
<dt id="m"><b>m</b></dt>
<dd>
<p>&#x663E;&#x793A;Mac&#x65AD;&#x884C;&#x7B26;&#x7684;&#x6570;&#x91CF;&#x3002;</p>
</dd>
<dt id="b"><b>b</b></dt>
<dd>
<p>&#x663E;&#x793A;BOM&#x72B6;&#x51B5;&#x3002;</p>
</dd>
<dt id="t"><b>t</b></dt>
<dd>
<p>&#x663E;&#x793A;&#x6587;&#x4EF6;&#x4E3A;&#x6587;&#x672C;&#x6216;&#x4E8C;&#x8FDB;&#x5236;&#x3002;</p>
</dd>
<dt id="e"><b>e</b></dt>
<dd>
<p>&#x663E;&#x793A;&#x6700;&#x540E;&#x4E00;&#x884C;&#x7684;&#x65AD;&#x884C;&#x7B26;&#x7C7B;&#x578B;&#xFF0C;&#x5982;&#x679C;&#x4E0D;&#x5B58;&#x5728;&#x5219;&#x663E;&#x793A; <code>noeol</code>&#x3002;</p>
</dd>
<dt id="c"><b>c</b></dt>
<dd>
<p>&#x53EA;&#x663E;&#x793A;&#x5C06;&#x4F1A;&#x88AB;&#x8F6C;&#x6362;&#x7684;&#x6587;&#x4EF6;&#x3002;</p>
<p>&#x82E5;&#x8BBE;&#x7F6E;&#x4E86; <code>c</code>&#x6807;&#x5FD7;&#xFF0C;dos2unix&#x5C06;&#x53EA;&#x663E;&#x793A;&#x542B;&#x6709;DOS&#x65AD;&#x884C;&#x7B26;&#x7684;&#x6587;&#x4EF6;&#xFF0C;unix2dos&#x5C06;&#x53EA;&#x663E;&#x793A;&#x542B;&#x6709;Unix&#x65AD;&#x884C;&#x7B26;&#x7684;&#x6587;&#x4EF6;&#x3002;</p>
<p>&#x5982;&#x679C;&#x989D;&#x5916;&#x4F7F;&#x7528;&#x4E86; <code>-e</code> &#x6216; <code>--add-eol</code> &#x9009;&#x9879;&#xFF0C;&#x5219;&#x6700;&#x540E;&#x4E00;&#x884C;&#x7F3A;&#x5931;&#x65AD;&#x884C;&#x7B26;&#x7684;&#x6587;&#x4EF6;&#x5C06;&#x88AB;&#x663E;&#x793A;&#x3002;</p>
</dd>
<dt id="h"><b>h</b></dt>
<dd>
<p>&#x663E;&#x793A;&#x5934;&#x90E8;&#x3002;</p>
</dd>
<dt id="p"><b>p</b></dt>
<dd>
<p>&#x663E;&#x793A;&#x4E0D;&#x542B;&#x8DEF;&#x5F84;&#x7684;&#x6587;&#x4EF6;&#x540D;&#x3002;</p>
</dd>
</dl>
<p>&#x793A;&#x4F8B;&#xFF1A;</p>
<p>&#x663E;&#x793A;&#x6240;&#x6709; *.txt &#x6587;&#x4EF6;&#x7684;&#x4FE1;&#x606F;&#xFF1A;</p>
<pre><code>dos2unix -i *.txt</code></pre>
<p>&#x53EA;&#x663E;&#x793A;DOS&#x65AD;&#x884C;&#x7B26;&#x548C;Unix&#x65AD;&#x884C;&#x7B26;&#x7684;&#x6570;&#x91CF;&#xFF1A;</p>
<pre><code>dos2unix -idu *.txt</code></pre>
<p>&#x53EA;&#x663E;&#x793A;BOM&#x72B6;&#x51B5;&#xFF1A;</p>
<pre><code>dos2unix --info=b *.txt</code></pre>
<p>&#x5217;&#x51FA;&#x542B;&#x6709;DOS&#x65AD;&#x884C;&#x7B26;&#x7684;&#x6587;&#x4EF6;&#xFF1A;</p>
<pre><code>dos2unix -ic *.txt</code></pre>
<p>&#x5217;&#x51FA;&#x542B;&#x6709;Unix&#x65AD;&#x884C;&#x7B26;&#x7684;&#x6587;&#x4EF6;&#xFF1A;</p>
<pre><code>unix2dos -ic *.txt</code></pre>
<p>&#x5217;&#x51FA;&#x542B;&#x6709;DOS&#x65AD;&#x884C;&#x7B26;&#x6216;&#x6700;&#x540E;&#x4E00;&#x884C;&#x7F3A;&#x5C11;&#x65AD;&#x884C;&#x7B26;&#x7684;&#x6587;&#x4EF6;&#xFF1A;</p>
<pre><code>dos2unix -e -ic *.txt</code></pre>
<p>&#x53EA;&#x8F6C;&#x6362;&#x542B;&#x6709;DOS&#x65AD;&#x884C;&#x7B26;&#x7684;&#x6587;&#x4EF6;&#xFF0C;&#x4FDD;&#x6301;&#x5176;&#x4ED6;&#x6587;&#x4EF6;&#x4E0D;&#x53D8;&#xFF1A;</p>
<pre><code>dos2unix -ic0 *.txt | xargs -0 dos2unix</code></pre>
<p>&#x67E5;&#x627E;&#x542B;&#x6709;DOS&#x65AD;&#x884C;&#x7B26;&#x7684;&#x6587;&#x672C;&#x6587;&#x4EF6;&#xFF1A;</p>
<pre><code>find -name &#39;*.txt&#39; -print0 | xargs -0 dos2unix -ic</code></pre>
</dd>
<dt id="k---keepdate"><b>-k, --keepdate</b></dt>
<dd>
<p>&#x5C06;&#x8F93;&#x5165;&#x6587;&#x4EF6;&#x7684;&#x65F6;&#x95F4;&#x6233;&#x5E94;&#x7528;&#x5230;&#x8F93;&#x51FA;&#x6587;&#x4EF6;&#x3002;</p>
</dd>
<dt id="L---license"><b>-L, --license</b></dt>
<dd>
<p>&#x663E;&#x793A;&#x7A0B;&#x5E8F;&#x8BB8;&#x53EF;&#x8BC1;&#x3002;</p>
</dd>
<dt id="l---newline"><b>-l, --newline</b></dt>
<dd>
<p>&#x6DFB;&#x52A0;&#x989D;&#x5916;&#x7684;&#x65B0;&#x884C;&#x3002;</p>
<p><b>dos2unix</b>&#xFF1A;&#x53EA;&#x6709;DOS&#x65AD;&#x884C;&#x7B26;&#x4F1A;&#x88AB;&#x8F6C;&#x6362;&#x4E3A;&#x4E24;&#x4E2A;Unix&#x65AD;&#x884C;&#x7B26;&#x3002;&#x5728;Mac&#x6A21;&#x5F0F;&#x4E0B;&#xFF0C;&#x53EA;&#x6709;Mac&#x65AD;&#x884C;&#x7B26;&#x4F1A;&#x88AB;&#x8F6C;&#x6362;&#x4E3A;Unix&#x65AD;&#x884C;&#x7B26;&#x3002;</p>
<p><b>unix2dos</b>&#xFF1A;&#x53EA;&#x6709;Unix&#x65AD;&#x884C;&#x7B26;&#x4F1A;&#x88AB;&#x8F6C;&#x6362;&#x4E3A;&#x4E24;&#x4E2A;DOS&#x65AD;&#x884C;&#x7B26;&#x3002;&#x5728;Mac&#x6A21;&#x5F0F;&#x4E0B;&#xFF0C;Unix&#x65AD;&#x884C;&#x7B26;&#x4F1A;&#x88AB;&#x8F6C;&#x6362;&#x4E3A;&#x4E24;&#x4E2A;Mac&#x65AD;&#x884C;&#x7B26;&#x3002;</p>
</dd>
<dt id="m---add-bom"><b>-m, --add-bom</b></dt>
<dd>
<p>&#x5C06;&#x5B57;&#x8282;&#x5E8F;&#x6807;&#x8BB0;&#xFF08;BOM&#xFF09;&#x5199;&#x5165;&#x5230;&#x8F93;&#x51FA;&#x6587;&#x4EF6;&#x3002;&#x9ED8;&#x8BA4;&#x60C5;&#x51B5;&#x4E0B;&#x5C06;&#x5199;&#x5165;UTF-8 BOM&#x3002;</p>
<p>&#x5F53;&#x8F93;&#x5165;&#x6587;&#x4EF6;&#x4E3A;UTF-16&#x683C;&#x5F0F;&#xFF0C;&#x5E76;&#x4E14;&#x4F7F;&#x7528;&#x4E86; <code>-u</code>&#x9009;&#x9879;&#xFF0C;&#x5C06;&#x5199;&#x5165;UTF-16 BOM&#x3002;</p>
<p>&#x5F53;&#x8F93;&#x51FA;&#x6587;&#x4EF6;&#x4E0D;&#x662F;UTF-8&#x3001;UTF-16&#x6216;GB18030&#x683C;&#x5F0F;&#x65F6;&#xFF0C;&#x8BF7;&#x4E0D;&#x8981;&#x4F7F;&#x7528;&#x6B64;&#x9009;&#x9879;&#x3002;&#x53C2;&#x52A0; UNICODE &#x4E00;&#x8282;&#x3002;</p>
</dd>
<dt id="n---newline"><b>-n, --newline &#x8F93;&#x5165;&#x6587;&#x4EF6; &#x8F93;&#x51FA;&#x6587;&#x4EF6; ...</b></dt>
<dd>
<p>&#x65B0;&#x6587;&#x4EF6;&#x6A21;&#x5F0F;&#x3002;&#x8F6C;&#x6362;&#x8F93;&#x5165;&#x6587;&#x4EF6;&#x5E76;&#x5199;&#x5165;&#x5230;&#x8F93;&#x51FA;&#x6587;&#x4EF6;&#x3002;&#x6587;&#x4EF6;&#x540D;&#x5FC5;&#x987B;&#x6210;&#x5BF9;&#x7ED9;&#x51FA;&#xFF0C;&#x5E76;&#x4E14; <i>&#x4E0D;&#x80FD;</i> &#x4F7F;&#x7528;&#x901A;&#x914D;&#x7B26;&#xFF0C;&#x5426;&#x5219;&#x4F60; <i>&#x5C06;&#x4F1A;</i>&#x4E22;&#x5931;&#x6587;&#x4EF6;&#x3002;</p>
<p>&#x4F7F;&#x7528;&#x65B0;&#x6587;&#x4EF6;&#xFF08;&#x914D;&#x5BF9;&#xFF09;&#x6A21;&#x5F0F;&#x8F6C;&#x6362;&#x65F6;&#xFF0C;&#x547D;&#x4EE4;&#x6267;&#x884C;&#x8005;&#x5FC5;&#x987B;&#x4E3A;&#x6587;&#x4EF6;&#x7684;&#x6240;&#x6709;&#x8005;&#x3002;&#x65B0;&#x6587;&#x4EF6;&#x7684;&#x8BFB;/&#x5199;&#x6743;&#x9650;&#x5C06;&#x7531;&#x6E90;&#x6587;&#x4EF6;&#x7684;&#x6743;&#x9650;&#x51CF;&#x53BB;&#x547D;&#x4EE4;&#x6267;&#x884C;&#x8005;&#x7684; umask(1) &#x5F97;&#x5230;&#x3002;</p>
</dd>
<dt id="no-allow-chown"><b>--no-allow-chown</b></dt>
<dd>
<p>&#x5728;&#x65E7;&#x6587;&#x4EF6;&#x6A21;&#x5F0F;&#x4E0B;&#xFF0C;&#x4E0D;&#x5141;&#x8BB8;&#x4FEE;&#x6539;&#x6587;&#x4EF6;&#x7684;&#x6240;&#x6709;&#x8005;&#xFF08;&#x9ED8;&#x8BA4;&#x9009;&#x9879;&#xFF09;&#x3002;</p>
<p>&#x5F53;&#x539F;&#x59CB;&#x6587;&#x4EF6;&#x7684;&#x5C5E;&#x4E3B;/&#x5C5E;&#x7EC4;&#x65E0;&#x6CD5;&#x4FDD;&#x6301;&#x4E0D;&#x53D8;&#x65F6;&#xFF0C;&#x505C;&#x6B62;&#x683C;&#x5F0F;&#x8F6C;&#x6362;&#x3002;&#x53E6;&#x8BF7;&#x53C2;&#x89C1;<code>-o</code> &#x548C; <code>-n</code>&#x9009;&#x9879;&#x3002;&#x4EC5;&#x5F53; dos2unix &#x652F;&#x6301;&#x4FDD;&#x62A4;&#x6587;&#x4EF6;&#x7684;&#x5C5E;&#x4E3B;/&#x5C5E;&#x7EC4;&#x65F6;&#x624D;&#x80FD;&#x4F7F;&#x7528;&#x8BE5;&#x9009;&#x9879;&#x3002;</p>
</dd>
<dt id="no-add-eol"><b>--no-add-eol</b></dt>
<dd>
<p>Do not add a line break to the last line if there isn&#39;t one (default).</p>
</dd>
<dt id="no-error-binary"><b>--no-error-binary</b></dt>
<dd>
<p>Do not return an error if a binary file is skipped (default).</p>
</dd>
<dt id="O---to-stdout"><b>-O, --to-stdout</b></dt>
<dd>
<p>&#x5C06;&#x7ED3;&#x679C;&#x91CD;&#x5B9A;&#x5411;&#x81F3;&#x6807;&#x51C6;&#x8F93;&#x51FA;&#xFF08;&#x7C7B;&#x4F3C;Unix&#x8FC7;&#x6EE4;&#x5668;&#xFF09;&#x3002;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x9009;&#x9879; <code>-o</code> &#x6765;&#x5207;&#x6362;&#x56DE;&#x65E7;&#x6587;&#x4EF6;&#xFF08;&#x539F;&#x4F4D;&#x4FEE;&#x6539;&#xFF09;&#x6A21;&#x5F0F;&#x3002;</p>
<p>&#x4E0E;&#x9009;&#x9879; <code>-e</code>&#x4E00;&#x8D77;&#x4F7F;&#x7528;&#x65F6;&#xFF0C;&#x53EF;&#x4EE5;&#x786E;&#x4FDD;&#x62FC;&#x63A5;&#x6587;&#x4EF6;&#x65F6;&#x4E0A;&#x4E00;&#x4E2A;&#x6587;&#x4EF6;&#x7684;&#x6700;&#x540E;&#x4E00;&#x884C;&#x4E0D;&#x4F1A;&#x9519;&#x8BEF;&#x5730;&#x4E0E;&#x4E0B;&#x4E00;&#x4E2A;&#x6587;&#x4EF6;&#x7684;&#x7B2C;&#x4E00;&#x884C;&#x5408;&#x5E76;&#xFF0C;&#x4E14;&#x4E0D;&#x4F1A;&#x53D7;&#x5230;Unicode&#x5B57;&#x8282;&#x5E8F;&#x8BB0;&#x53F7;&#x7684;&#x5E72;&#x6270;&#x3002;&#x4F8B;&#x5982;&#xFF1A;</p>
<pre><code>dos2unix -e -O file1.txt file2.txt &gt; output.txt</code></pre>
</dd>
<dt id="o---oldfile"><b>-o, --oldfile &#x6587;&#x4EF6; ...</b></dt>
<dd>
<p>&#x65E7;&#x6587;&#x4EF6;&#x6A21;&#x5F0F;&#x3002;&#x8F6C;&#x6362;&#x5E76;&#x5C06;&#x8F93;&#x51FA;&#x8986;&#x76D6;&#x5230;&#x6E90;&#x6587;&#x4EF6;&#x3002;&#x7A0B;&#x5E8F;&#x9ED8;&#x8BA4;&#x4F7F;&#x7528;&#x6B64;&#x6A21;&#x5F0F;&#xFF0C;&#x5141;&#x8BB8;&#x4F7F;&#x7528;&#x901A;&#x914D;&#x7B26;&#x3002;</p>
<p>&#x5728;&#x65E7;&#x6587;&#x4EF6;&#xFF08;&#x66FF;&#x6362;&#xFF09;&#x6A21;&#x5F0F;&#x4E0B;&#xFF0C;&#x88AB;&#x8F6C;&#x6362;&#x7684;&#x6587;&#x4EF6;&#x7684;&#x6240;&#x6709;&#x8005;&#x3001;&#x7EC4;&#x548C;&#x8BFB;/&#x5199;&#x6743;&#x9650;&#x4FDD;&#x6301;&#x4E0D;&#x53D8;&#x3002;&#x5F53;&#x6587;&#x4EF6;&#x88AB;&#x5176;&#x4ED6;&#x5177;&#x6709;&#x5199;&#x6743;&#x9650;&#x7684;&#x7528;&#x6237;&#xFF08;&#x5982;root&#xFF09;&#x8F6C;&#x6362;&#x65F6;&#xFF0C;&#x60C5;&#x51B5;&#x4E5F;&#x662F;&#x5982;&#x6B64;&#x3002;&#x5982;&#x679C;&#x65E0;&#x6CD5;&#x4FDD;&#x6301;&#x8FD9;&#x4E9B;&#x503C;&#x4E0D;&#x53D8;&#xFF0C;&#x8F6C;&#x6362;&#x5C06;&#x4F1A;&#x7EC8;&#x6B62;&#x3002;&#x6539;&#x53D8;&#x6E90;&#x6587;&#x4EF6;&#x7684;&#x6240;&#x6709;&#x8005;&#x53EF;&#x80FD;&#x9020;&#x6210;&#x5176;&#x65E0;&#x6CD5;&#x8BFB;&#x53D6;&#x8BE5;&#x6587;&#x4EF6;&#xFF0C;&#x800C;&#x6539;&#x53D8;&#x7EC4;&#x5219;&#x53EF;&#x80FD;&#x5E26;&#x6765;&#x5B89;&#x5168;&#x9690;&#x60A3;&#xFF0C;&#x4F7F;&#x6587;&#x4EF6;&#x88AB;&#x4E0D;&#x6CD5;&#x5206;&#x5B50;&#x8BFB;&#x53D6;&#x3002;&#x53EA;&#x6709;Unix&#x624D;&#x652F;&#x6301;&#x8F6C;&#x6362;&#x65F6;&#x4FDD;&#x7559;&#x6240;&#x6709;&#x8005;&#x3001;&#x7EC4;&#x548C;&#x8BFB;/&#x5199;&#x6743;&#x9650;&#x3002;</p>
<p>&#x82E5;&#x8981;&#x67E5;&#x770B; dos2unix &#x662F;&#x5426;&#x652F;&#x6301;&#x4FDD;&#x62A4;&#x6587;&#x4EF6;&#x7684;&#x6240;&#x6709;&#x8005;&#xFF0C;&#x8BF7;&#x8F93;&#x5165;<code>dos2unix -V</code>&#x3002;</p>
<p>dos2unix &#x5728;&#x8F6C;&#x6362;&#x683C;&#x5F0F;&#x65F6;&#x4F1A;&#x751F;&#x6210;&#x4E00;&#x4E2A;&#x4E34;&#x65F6;&#x6587;&#x4EF6;&#x3002;&#x5982;&#x679C;&#x5728;&#x8F6C;&#x6362;&#x65F6;&#x51FA;&#x9519;&#xFF0C;&#x5B83;&#x4F1A;&#x5220;&#x9664;&#x4E34;&#x65F6;&#x6587;&#x4EF6;&#xFF0C;&#x4ECE;&#x800C;&#x4FDD;&#x8BC1;&#x539F;&#x59CB;&#x6587;&#x4EF6;&#x4E0D;&#x88AB;&#x66F4;&#x6539;&#xFF1B;&#x5982;&#x679C;&#x8F6C;&#x6362;&#x6210;&#x529F;&#xFF0C;&#x5C06;&#x7528;&#x4E34;&#x65F6;&#x6587;&#x4EF6;&#x66FF;&#x6362;&#x539F;&#x59CB;&#x6587;&#x4EF6;&#x3002;&#x5728;&#x8FD9;&#x4E00;&#x8FC7;&#x7A0B;&#x4E2D;&#xFF0C;&#x5982;&#x679C; dos2unix &#x65E0;&#x6CD5;&#x5C06;&#x4E34;&#x65F6;&#x6587;&#x4EF6;&#x7684;&#x6240;&#x6709;&#x8005;&#x8BBE;&#x7F6E;&#x4E3A;&#x539F;&#x59CB;&#x6587;&#x4EF6;&#x7684;&#x6240;&#x6709;&#x8005;&#xFF0C;&#x90A3;&#x4E48;&#x65B0;&#x751F;&#x6210;&#x7684;&#x6587;&#x4EF6;&#x4E5F;&#x65E0;&#x6CD5;&#x4FDD;&#x7559;&#x539F;&#x59CB;&#x6587;&#x4EF6;&#x7684;&#x5C5E;&#x4E3B;/&#x5C5E;&#x7EC4;&#x5C5E;&#x6027;&#xFF08;&#x5373;&#x4FBF;&#x60A8;&#x5BF9;&#x539F;&#x59CB;&#x6587;&#x4EF6;&#x6709;&#x5199;&#x5165;&#x6743;&#x9650;&#xFF09;&#x3002;&#x5728;&#x8FD9;&#x79CD;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;<code>--allow-chown</code>&#x9009;&#x9879;&#x6765;&#x7EE7;&#x7EED;&#x8FDB;&#x884C;&#x8F6C;&#x6362;&#xFF1A;</p>
<pre><code>dos2unix --allow-chown foo.txt</code></pre>
<p>&#x6216;&#x8005;&#x5728;&#x65B0;&#x6587;&#x4EF6;&#x6A21;&#x5F0F;&#x4E0B;&#xFF1A;</p>
<pre><code>dos2unix -n foo.txt foo.txt</code></pre>
<p>&#x4F7F;&#x7528;<code>--allow-chown</code>&#x9009;&#x9879;&#x7684;&#x597D;&#x5904;&#x5728;&#x4E8E;&#xFF1A;&#x60A8;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x901A;&#x914D;&#x7B26;&#x6765;&#x64CD;&#x4F5C;&#x6587;&#x4EF6;&#xFF0C;&#x540C;&#x65F6;&#x5C3D;&#x53EF;&#x80FD;&#x4FDD;&#x6301;&#x6587;&#x4EF6;&#x7684;&#x6240;&#x6709;&#x8005;&#x4E0D;&#x53D8;&#x3002;</p>
</dd>
<dt id="q---quiet"><b>-q, --quiet</b></dt>
<dd>
<p>&#x5B89;&#x9759;&#x6A21;&#x5F0F;&#x3002;&#x4E0D;&#x663E;&#x793A;&#x4EFB;&#x4F55;&#x8B66;&#x544A;&#x6216;&#x4FE1;&#x606F;&#x3002;&#x8FD4;&#x56DE;&#x503C;&#x4E3A;0&#xFF0C;&#x9664;&#x975E;&#x547D;&#x4EE4;&#x884C;&#x9009;&#x9879;&#x6709;&#x8BEF;&#x3002;</p>
</dd>
<dt id="r---remove-bom"><b>-r, --remove-bom</b></dt>
<dd>
<p>&#x79FB;&#x9664;&#x5B57;&#x8282;&#x5E8F;&#x6807;&#x8BB0;&#xFF08;BOM&#xFF09;&#xFF0C;&#x4E0D;&#x5199;&#x5165;BOM&#x5230;&#x8F93;&#x51FA;&#x6587;&#x4EF6;&#x3002;&#x8FD9;&#x662F;&#x8F6C;&#x6362;&#x5230;Unix&#x65AD;&#x884C;&#x7B26;&#x65F6;&#x7684;&#x9ED8;&#x8BA4;&#x884C;&#x4E3A;&#x3002;&#x53C2;&#x89C1;&#x9009;&#x9879; <code>-b</code>&#x3002;</p>
</dd>
<dt id="s---safe"><b>-s, --safe</b></dt>
<dd>
<p>&#x8DF3;&#x8FC7;&#x4E8C;&#x8FDB;&#x5236;&#x6587;&#x4EF6;&#xFF08;&#x9ED8;&#x8BA4;&#xFF09;&#x3002;</p>
<p>&#x8DF3;&#x8FC7;&#x4E8C;&#x8FDB;&#x5236;&#x6587;&#x4EF6;&#x662F;&#x4E3A;&#x4E86;&#x907F;&#x514D;&#x53EF;&#x80FD;&#x7684;&#x9519;&#x8BEF;&#x3002;&#x8BF7;&#x6CE8;&#x610F;&#xFF0C;&#x5BF9;&#x4E8C;&#x8FDB;&#x5236;&#x6587;&#x4EF6;&#x7684;&#x63A2;&#x6D4B;&#x5E76;&#x4E0D;&#x80FD;&#x505A;&#x5230;100%&#x51C6;&#x786E;&#x3002;&#x7A0B;&#x5E8F;&#x901A;&#x8FC7;&#x626B;&#x63CF;&#x4E8C;&#x8FDB;&#x5236;&#x6587;&#x4EF6;&#x6240;&#x7279;&#x6709;&#x7684;&#x6807;&#x8BB0;&#x6765;&#x5C06;&#x5176;&#x4E0E;&#x6587;&#x672C;&#x6587;&#x4EF6;&#x533A;&#x5206;&#x5F00;&#x6765;&#xFF0C;&#x4F46;&#x6709;&#x7684;&#x4E8C;&#x8FDB;&#x5236;&#x6587;&#x4EF6;&#x53EF;&#x80FD;&#x53EA;&#x5305;&#x542B;&#x666E;&#x901A;&#x7684;&#x6587;&#x672C;&#x5B57;&#x7B26;&#xFF0C;&#x8FD9;&#x6837;&#x7684;&#x6587;&#x4EF6;&#x5C31;&#x4F1A;&#x88AB;&#x8BEF;&#x5224;&#x4E3A;&#x6587;&#x672C;&#x6587;&#x4EF6;&#x3002;</p>
<p>By default, no error is returned when a binary file is skipped. When the <code>--error-binary</code> option is used, an error is returned.</p>
</dd>
<dt id="u---keep-utf16"><b>-u, --keep-utf16</b></dt>
<dd>
<p>Keep the original UTF-16 encoding of the input file. The output file will be written in the same UTF-16 encoding, little- or big-endian, as the input file. This prevents transformation to UTF-8. An UTF-16 BOM will be written accordingly. This option can be disabled with the <code>-ascii</code> option.</p>
</dd>
<dt id="ul---assume-utf16le"><b>-ul, --assume-utf16le</b></dt>
<dd>
<p>&#x5047;&#x5B9A;&#x8F93;&#x5165;&#x6587;&#x4EF6;&#x683C;&#x5F0F;&#x4E3A;UTF-16LE&#x3002;</p>
<p>&#x8F93;&#x5165;&#x6587;&#x4EF6;&#x4E2D;&#x6709;BOM&#x65F6;&#xFF0C;&#x5C06;&#x4F1A;&#x8986;&#x76D6;&#x6B64;&#x9009;&#x9879;&#x3002;</p>
<p>&#x5982;&#x679C;&#x4F60;&#x505A;&#x4E86;&#x9519;&#x8BEF;&#x7684;&#x5047;&#x8BBE;&#xFF08;&#x8F93;&#x5165;&#x6587;&#x4EF6;&#x4E0D;&#x4E3A;UTF-16LE&#x683C;&#x5F0F;&#xFF09;&#xFF0C;&#x5E76;&#x4E14;&#x8F6C;&#x6362;&#x6210;&#x529F;&#xFF0C;&#x4F60;&#x5C06;&#x4F1A;&#x5F97;&#x5230;&#x4E00;&#x4E2A;&#x9519;&#x8BEF;&#x7684;UTF-8&#x683C;&#x5F0F;&#x7684;&#x6587;&#x4EF6;&#x3002;&#x4F60;&#x53EF;&#x4EE5;&#x7528; iconv(1) &#x6765;&#x64A4;&#x9500;&#x8F6C;&#x6362;&#xFF0C;&#x5C06;&#x5176;&#x4ECE;UTF-8&#x8F6C;&#x6362;&#x56DE;UTF-16LE&#x3002;&#x8FD9;&#x6837;&#x505A;&#x53EF;&#x4EE5;&#x6062;&#x590D;&#x6E90;&#x6587;&#x4EF6;&#x3002;</p>
<p>&#x5BF9;UTF-16LE&#x7684;&#x5047;&#x5B9A;&#x5C06;&#x6839;&#x636E; l&lt;&#x8F6C;&#x6362;&#x6A21;&#x5F0F;&gt; &#x6765;&#x5DE5;&#x4F5C;&#x3002;&#x82E5;&#x6539;&#x53D8;&#x4E86;&#x9ED8;&#x8BA4;&#x7684; l&lt;ascii&gt; &#x6A21;&#x5F0F;&#xFF0C;&#x5219;&#x8FD9;&#x4E00;&#x5047;&#x5B9A;&#x5C06;&#x4F1A;&#x88AB;&#x5173;&#x95ED;&#x3002;</p>
</dd>
<dt id="ub---assume-utf16be"><b>-ub, --assume-utf16be</b></dt>
<dd>
<p>&#x5047;&#x5B9A;&#x8F93;&#x5165;&#x6587;&#x4EF6;&#x683C;&#x5F0F;&#x4E3A;UTF-16BE&#x3002;</p>
<p>&#x8FD9;&#x4E00;&#x9009;&#x9879;&#x4E0E; <code>-ul</code> &#x7C7B;&#x4F3C;&#x3002;</p>
</dd>
<dt id="v---verbose"><b>-v, --verbose</b></dt>
<dd>
<p>&#x663E;&#x793A;&#x66F4;&#x591A;&#x4FE1;&#x606F;&#x3002;&#x5C06;&#x4F1A;&#x663E;&#x793A;&#x6709;&#x5173;BOM&#x548C;&#x8F6C;&#x6362;&#x7EDF;&#x8BA1;&#x7684;&#x989D;&#x5916;&#x4FE1;&#x606F;&#x3002;</p>
</dd>
<dt id="F---follow-symlink"><b>-F, --follow-symlink</b></dt>
<dd>
<p>&#x8FFD;&#x8E2A;&#x7B26;&#x53F7;&#x94FE;&#x63A5;&#x5E76;&#x8F6C;&#x6362;&#x5176;&#x76EE;&#x6807;&#x3002;</p>
</dd>
<dt id="R---replace-symlink"><b>-R, --replace-symlink</b></dt>
<dd>
<p>&#x5C06;&#x7B26;&#x53F7;&#x94FE;&#x63A5;&#x7684;&#x76EE;&#x6807;&#x66FF;&#x6362;&#x4E3A;&#x8F6C;&#x6362;&#x540E;&#x7684;&#x6587;&#x4EF6;&#xFF08;&#x539F;&#x6765;&#x7684;&#x76EE;&#x6807;&#x6587;&#x4EF6;&#x4FDD;&#x6301;&#x4E0D;&#x53D8;&#xFF09;&#x3002;</p>
</dd>
<dt id="S---skip-symlink"><b>-S, --skip-symlink</b></dt>
<dd>
<p>&#x4FDD;&#x6301;&#x7B26;&#x53F7;&#x94FE;&#x63A5;&#x548C;&#x5176;&#x76EE;&#x6807;&#x6587;&#x4EF6;&#x4E0D;&#x53D8;&#xFF08;&#x9ED8;&#x8BA4;&#xFF09;&#x3002;</p>
</dd>
<dt id="V---version"><b>-V, --version</b></dt>
<dd>
<p>&#x663E;&#x793A;&#x7248;&#x672C;&#x4FE1;&#x606F;&#xFF0C;&#x7136;&#x540E;&#x9000;&#x51FA;&#x3002;</p>
</dd>
</dl>
<h1 id="Mac">Mac&#x6A21;&#x5F0F;</h1>
<p>&#x9ED8;&#x8BA4;&#x60C5;&#x51B5;&#x4E0B;&#x65AD;&#x884C;&#x7B26;&#x5C06;&#x4ECE;DOS&#x683C;&#x5F0F;&#x8F6C;&#x6362;&#x4E3A;Unix&#x683C;&#x5F0F;&#xFF0C;&#x6216;&#x76F8;&#x53CD;&#x3002;Mac&#x683C;&#x5F0F;&#x7684;&#x65AD;&#x884C;&#x7B26;&#x5C06;&#x4E0D;&#x4F1A;&#x88AB;&#x8F6C;&#x6362;&#x3002;</p>
<p>Mac&#x6A21;&#x5F0F;&#x4E0B;&#xFF0C;Mac&#x65AD;&#x884C;&#x7B26;&#x5C06;&#x88AB;&#x8F6C;&#x6362;&#x4E3A;Unix&#x683C;&#x5F0F;&#xFF0C;&#x6216;&#x76F8;&#x53CD;&#x3002;DOS&#x65AD;&#x884C;&#x7B26;&#x5C06;&#x4E0D;&#x4F1A;&#x88AB;&#x8F6C;&#x6362;&#x3002;</p>
<p>&#x82E5;&#x8981;&#x4EE5;Mac&#x6A21;&#x5F0F;&#x8FD0;&#x884C;&#xFF0C;&#x8BF7;&#x4F7F;&#x7528;&#x547D;&#x4EE4;&#x884C;&#x9009;&#x9879; <code>-c mac</code>&#xFF0C;&#x6216;&#x4F7F;&#x7528;&#x547D;&#x4EE4; <code>mac2unix</code> &#x6216; <code>unix2mac</code>&#x3002;</p>
<h1 id="pod5">&#x8F6C;&#x6362;&#x6A21;&#x5F0F;</h1>
<dl>
<dt id="ascii1"><b>ascii</b></dt>
<dd>
<p>&#x8FD9;&#x662F;&#x9ED8;&#x8BA4;&#x8F6C;&#x6362;&#x6A21;&#x5F0F;&#x3002;&#x8BE5;&#x6A21;&#x5F0F;&#x7528;&#x4E8E;&#x8F6C;&#x6362;ASCII&#x548C;ASCII&#x517C;&#x5BB9;&#x7F16;&#x7801;&#x7684;&#x6587;&#x4EF6;&#xFF0C;&#x4F8B;&#x5982;UTF-8&#x3002;&#x542F;&#x7528;<b>ascii</b>&#x6A21;&#x5F0F;&#x4F1A;&#x7981;&#x7528;<b>7bit</b>&#x548C;<b>iso</b>&#x6A21;&#x5F0F;&#x3002;</p>
<p>&#x5982;&#x679C;dos2unix&#x5E26;&#x6709;UTF-16&#x652F;&#x6301;&#xFF0C;&#x5219;UTF-16&#x7F16;&#x7801;&#x7684;&#x6587;&#x4EF6;&#x5728;POSIX&#x7CFB;&#x7EDF;&#x4E0A;&#x5C06;&#x88AB;&#x8F6C;&#x6362;&#x4E3A;&#x5F53;&#x524D;&#x8BED;&#x533A;&#x5BF9;&#x5E94;&#x7684;&#x5B57;&#x7B26;&#x7F16;&#x7801;&#xFF0C;&#x5728;Windows&#x4E0A;&#x5219;&#x4F1A;&#x88AB;&#x8F6C;&#x6362;&#x4E3A;UTF-8&#x3002;&#x542F;&#x7528; <b>ascii</b> &#x6A21;&#x5F0F;&#x5C06;&#x7981;&#x7528;&#x7EF4;&#x6301;UTF-16&#x7F16;&#x7801;&#x7684;&#x9009;&#x9879;&#xFF08;<code>-u</code>&#xFF09;&#x548C;&#x5047;&#x5B9A;&#x8F93;&#x5165;&#x4E3A;UTF-16&#x7684;&#x9009;&#x9879;&#xFF08;<code>-ul</code> &#x548C; <code>-ub</code>&#xFF09;&#x3002;&#x5982;&#x9700;&#x67E5;&#x770B;dos2unix&#x662F;&#x5426;&#x5E26;&#x6709;UTF-16&#x652F;&#x6301;&#xFF0C;&#x8BF7;&#x8FD0;&#x884C; <code>dos2unix -V</code>&#x3002;&#x66F4;&#x591A;&#x4FE1;&#x606F;&#x53E6;&#x8BF7;&#x53C2;&#x89C1; UNICODE &#x7AE0;&#x8282;&#x3002;</p>
</dd>
<dt id="bit"><b>7bit</b></dt>
<dd>
<p>&#x5728;&#x6B64;&#x6A21;&#x5F0F;&#x4E0B;&#xFF0C;&#x6240;&#x4EE5;&#x7684;8&#x4F4D;&#x975E;ASCII&#x5B57;&#x7B26;&#xFF08;&#x53D6;&#x503C;&#x8303;&#x56F4;128-255&#xFF09;&#x5C06;&#x88AB;&#x8F6C;&#x6362;&#x5230;7&#x4F4D;&#x7F16;&#x7801;&#x7A7A;&#x95F4;&#x3002;</p>
</dd>
<dt id="iso1"><b>iso</b></dt>
<dd>
<p>Unix&#x4E0B;&#xFF0C;&#x5C06;&#x5728;DOS&#x5B57;&#x7B26;&#x96C6;&#xFF08;&#x7F16;&#x7801;&#x9875;&#xFF09;&#x548C;ISO&#x5B57;&#x7B26;&#x96C6; ISO-8859-1&#xFF08;Latin-1&#xFF09;&#x4E4B;&#x95F4;&#x8FDB;&#x884C;&#x8F6C;&#x6362;&#x3002;&#x4E0D;&#x5177;&#x6709; ISO-8859-1 &#x4E2D;&#x5BF9;&#x7B49;&#x5B57;&#x7B26;&#x7684;DOS&#x5B57;&#x7B26;&#x5C06;&#x4F1A;&#x88AB;&#x8F6C;&#x6362;&#x4E3A;&#x70B9;&#x53F7;&#xFF08;&ldquo;.&rdquo;&#xFF09;&#x3002;&#x5F53; ISO-8859-1 &#x5B57;&#x7B26;&#x96C6;&#x4E2D;&#x6CA1;&#x6709;DOS&#x4E2D;&#x7684;&#x5BF9;&#x7B49;&#x5B57;&#x7B26;&#x65F6;&#x4E5F;&#x662F;&#x5982;&#x6B64;&#x3002;</p>
<p>&#x5F53;&#x53EA;&#x6307;&#x5B9A;&#x4E86; <code>-iso</code> &#x9009;&#x9879;&#x65F6;&#xFF0C;dos2unix&#x5C06;&#x5C1D;&#x8BD5;&#x786E;&#x5B9A;&#x5F53;&#x524D;&#x6D3B;&#x52A8;&#x4EE3;&#x7801;&#x9875;&#x3002;&#x82E5;&#x65E0;&#x6CD5;&#x786E;&#x5B9A;&#xFF0C;&#x5219;&#x4F7F;&#x7528;&#x9ED8;&#x8BA4;&#x4EE3;&#x7801;&#x9875; CP437&#xFF08;&#x666E;&#x904D;&#x7528;&#x4E8E;&#x7F8E;&#x56FD;&#xFF09;&#x3002;&#x82E5;&#x8981;&#x5F3A;&#x5236;&#x6307;&#x5B9A;&#x4EE3;&#x7801;&#x9875;&#xFF0C;&#x8BF7;&#x4F7F;&#x7528;&#x9009;&#x9879; <code>-437</code>&#xFF08;&#x7F8E;&#x56FD;&#xFF09;&#x3001;<code>-850</code>&#xFF08;&#x897F;&#x6B27;&#xFF09;&#x3001;<code>-860</code>&#xFF08;&#x8461;&#x8404;&#x7259;&#xFF09;&#x3001;<code>-863</code>&#xFF08;&#x6CD5;&#x56FD;&#x3001;&#x52A0;&#x62FF;&#x5927;&#xFF09;&#x6216;<code>-865</code>&#xFF08;&#x5317;&#x6B27;&#xFF09;&#x3002; Windows CP1252&#x4EE3;&#x7801;&#x9875;&#xFF08;&#x897F;&#x6B27;&#xFF09;&#x4E5F;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x9009;&#x9879; <code>-1252</code> &#x83B7;&#x5F97;&#x652F;&#x6301;&#x3002;&#x82E5;&#x8981;&#x4F7F;&#x7528;&#x5176;&#x4ED6;&#x4EE3;&#x7801;&#x9875;&#xFF0C;&#x53EF;&#x4EE5;&#x7ED3;&#x5408; iconv(1) &#x4F7F;&#x7528;dos2unix&#x3002;iconv&#x53EF;&#x4EE5;&#x5728;&#x5F88;&#x591A;&#x5B57;&#x7B26;&#x7F16;&#x7801;&#x95F4;&#x8FDB;&#x884C;&#x8F6C;&#x6362;&#x3002;</p>
<p>&#x4E0D;&#x5BF9;Unicode&#x7F16;&#x7801;&#x6587;&#x672C;&#x4F7F;&#x7528;ISO&#x8F6C;&#x6362;&#x3002;&#x56E0;&#x8FD9;&#x4E00;&#x8F6C;&#x6362;&#x4F1A;&#x5BFC;&#x81F4;UTF-8&#x7F16;&#x7801;&#x6587;&#x4EF6;&#x635F;&#x574F;&#x3002;</p>
<p>&#x4E00;&#x4E9B;&#x793A;&#x4F8B;&#xFF1A;</p>
<p>&#x4ECE;DOS&#x9ED8;&#x8BA4;&#x7F16;&#x7801;&#x9875;&#x8F6C;&#x6362;&#x5230;Unix Latin-1&#xFF1A;</p>
<pre><code>dos2unix -iso -n in.txt out.txt</code></pre>
<p>&#x4ECE;DOS CP850&#x8F6C;&#x6362;&#x5230;Unix Latin-1&#xFF1A;</p>
<pre><code>dos2unix -850 -n in.txt out.txt</code></pre>
<p>&#x4ECE;Windows CP1252&#x8F6C;&#x6362;&#x5230;Unix Latin-1&#xFF1A;</p>
<pre><code>dos2unix -1252 -n in.txt out.txt</code></pre>
<p>&#x4ECE;WIndows CP1252&#x8F6C;&#x6362;&#x5230;Unix UTF-8&#xFF08;Unicode&#xFF09;&#xFF1A;</p>
<pre><code>iconv -f CP1252 -t UTF-8 in.txt | dos2unix &gt; out.txt</code></pre>
<p>&#x4ECE;Unix Latin-1&#x8F6C;&#x6362;&#x5230;DOS&#x9ED8;&#x8BA4;&#x7F16;&#x7801;&#x9875;&#xFF1A;</p>
<pre><code>unix2dos -iso -n in.txt out.txt</code></pre>
<p>&#x4ECE;Unix Latin-1&#x8F6C;&#x6362;&#x5230;DOS CP850&#xFF1A;</p>
<pre><code>unix2dos -850 -n in.txt out.txt</code></pre>
<p>&#x4ECE;Unix Latin-1&#x8F6C;&#x6362;&#x5230;Windows CP1252&#xFF1A;</p>
<pre><code>unix2dos -1252 -n in.txt out.txt</code></pre>
<p>&#x4ECE;Unix UTF-8&#xFF08;Unicode&#xFF09;&#x8F6C;&#x6362;&#x5230;Windows CP1252&#xFF1A;</p>
<pre><code>unix2dos &lt; in.txt | iconv -f UTF-8 -t CP1252 &gt; out.txt</code></pre>
<p>See also <a href="https://czyborra.com/charsets/codepages.html">https://czyborra.com/charsets/codepages.html</a> and <a href="https://czyborra.com/charsets/iso8859.html">https://czyborra.com/charsets/iso8859.html</a>.</p>
</dd>
</dl>
<h1 id="UNICODE">UNICODE</h1>
<h2 id="pod6">&#x7F16;&#x7801;</h2>
<p>There exist different Unicode encodings. On Unix and Linux Unicode files are typically encoded in UTF-8 encoding. On Windows Unicode text files can be encoded in UTF-8, UTF-16, or UTF-16 big-endian, but are mostly encoded in UTF-16 format.</p>
<h2 id="pod7">&#x8F6C;&#x6362;</h2>
<p>Unicode&#x6587;&#x672C;&#x6587;&#x4EF6;&#x53EF;&#x4EE5;&#x542B;&#x6709;DOS&#x3001;Unix&#x6216;Mac&#x65AD;&#x884C;&#x7B26;&#xFF0C;&#x5C31;&#x50CF;ASCII&#x6587;&#x672C;&#x6587;&#x4EF6;&#x4E00;&#x6837;&#x3002;</p>
<p>&#x6240;&#x6709;&#x7248;&#x672C;&#x7684;dos2unix&#x548C;unix2dos&#x90FD;&#x53EF;&#x4EE5;&#x8F6C;&#x6362;UTF-8&#x6587;&#x4EF6;&#xFF0C;&#x56E0;&#x4E3A;UTF-8&#x5411;&#x540E;&#x517C;&#x5BB9;ASCII&#x3002;</p>
<p>dos2unix and unix2dos with Unicode UTF-16 support, can read little- and big-endian UTF-16 encoded text files. To see if dos2unix was built with UTF-16 support type <code>dos2unix -V</code>.</p>
<p>&#x5728;Unix/Linux&#x4E2D;&#xFF0C;UTF-16&#x7F16;&#x7801;&#x6587;&#x4EF6;&#x5C06;&#x88AB;&#x8F6C;&#x6362;&#x4E3A;&#x533A;&#x57DF;&#x5B57;&#x7B26;&#x7F16;&#x7801;&#x6240;&#x6307;&#x5B9A;&#x7684;&#x7F16;&#x7801;&#x3002;&#x53EF;&#x4EE5;&#x4F7F;&#x7528; locale(1) &#x547D;&#x4EE4;&#x6765;&#x67E5;&#x770B;&#x5F53;&#x524D;&#x7684;&#x533A;&#x57DF;&#x5B57;&#x7B26;&#x7F16;&#x7801;&#x3002;&#x82E5;&#x65E0;&#x6CD5;&#x8F6C;&#x6362;&#xFF0C;&#x7A0B;&#x5E8F;&#x5C06;&#x62A5;&#x544A;&#x8F6C;&#x6362;&#x9519;&#x8BEF;&#x5E76;&#x8DF3;&#x8FC7;&#x6B64;&#x6587;&#x4EF6;&#x3002;</p>
<p>&#x5728;Windows&#x4E2D;&#xFF0C;UTF-16&#x6587;&#x4EF6;&#x88AB;&#x9ED8;&#x8BA4;&#x8F6C;&#x6362;&#x4E3A;UTF-8&#x683C;&#x5F0F;&#x3002;Windows&#x548C;Unix/Linux&#x5747;&#x652F;&#x6301;UTF-8&#x683C;&#x5F0F;&#x7684;&#x6587;&#x672C;&#x6587;&#x4EF6;&#x3002;</p>
<p>UTF-16&#x548C;UTF-8&#x7F16;&#x7801;&#x76F8;&#x4E92;&#x517C;&#x5BB9;&#xFF0C;&#x6240;&#x4EE5;&#x5F7C;&#x6B64;&#x8F6C;&#x6362;&#x65F6;&#x4E0D;&#x4F1A;&#x4E22;&#x5931;&#x6587;&#x672C;&#x3002;&#x5018;&#x82E5;&#x8F6C;&#x6362;&#x4E2D;&#x51FA;&#x9519;&#xFF0C;&#x6BD4;&#x5982;UTF-16&#x683C;&#x5F0F;&#x7684;&#x8F93;&#x5165;&#x6587;&#x4EF6;&#x542B;&#x6709;&#x9519;&#x8BEF;&#xFF0C;&#x90A3;&#x4E48;&#x8BE5;&#x6587;&#x4EF6;&#x5C06;&#x88AB;&#x8DF3;&#x8FC7;&#x3002;</p>
<p>&#x82E5;&#x4F7F;&#x7528;&#x4E86; <code>-u</code> &#x9009;&#x9879;&#xFF0C;&#x8F93;&#x51FA;&#x6587;&#x4EF6;&#x5C06;&#x4F1A;&#x4F7F;&#x7528;&#x548C;&#x8F93;&#x5165;&#x6587;&#x4EF6;&#x76F8;&#x540C;&#x7684;UTF-16&#x7F16;&#x7801;&#x3002;<code>-u</code>&#x9009;&#x9879;&#x5C06;&#x963B;&#x6B62;&#x7A0B;&#x5E8F;&#x8F6C;&#x6362;&#x5230;UTF-8&#x3002;</p>
<p>dos2unix&#x548C;unix2dos&#x6CA1;&#x6709;&#x7528;&#x4E8E;&#x8F6C;&#x6362;UTF-8&#x5230;UTF-16&#x7684;&#x9009;&#x9879;&#x3002;</p>
<p>ISO&#x548C;7&#x4F4D;&#x7F16;&#x7801;&#x6A21;&#x5F0F;&#x7684;&#x8F6C;&#x6362;&#x65E0;&#x6CD5;&#x7528;&#x4E8E;UTF-16&#x6587;&#x4EF6;&#x3002;</p>
<h2 id="pod8">&#x5B57;&#x8282;&#x5E8F;&#x6807;&#x8BB0;</h2>
<p>&#x5728;Windows&#x4E2D;&#xFF0C;&#x6587;&#x672C;&#x6587;&#x4EF6;&#x4E00;&#x822C;&#x542B;&#x6709;&#x5B57;&#x8282;&#x5E8F;&#x6807;&#x8BB0;&#xFF08;BOM&#xFF09;&#xFF0C;&#x56E0;&#x4E3A;&#x5F88;&#x591A;Windows&#x7A0B;&#x5E8F;&#xFF08;&#x5305;&#x62EC;&#x8BB0;&#x4E8B;&#x672C;&#xFF09;&#x9ED8;&#x8BA4;&#x6DFB;&#x52A0;BOM&#x3002;&#x53C2;&#x89C1; <a href="https://en.wikipedia.org/wiki/Byte_order_mark">https://en.wikipedia.org/wiki/Byte_order_mark</a>&#x3002;</p>
<p>&#x5728;Unix&#x4E2D;&#xFF0C;Unicode&#x6587;&#x4EF6;&#x4E00;&#x822C;&#x4E0D;&#x542B;BOM&#x3002;&#x5047;&#x5B9A;&#x6587;&#x672C;&#x6587;&#x4EF6;&#x4F7F;&#x7528;&#x533A;&#x57DF;&#x5B57;&#x7B26;&#x7F16;&#x7801;&#x8BBE;&#x7F6E;&#x6240;&#x6307;&#x5B9A;&#x7684;&#x7F16;&#x7801;&#x3002;</p>
<p>dos2unix&#x53EA;&#x80FD;&#x68C0;&#x6D4B;&#x542B;&#x6709;BOM&#x6587;&#x4EF6;&#x7684;UTF-16&#x683C;&#x5F0F;&#x3002;&#x82E5;UTF-16&#x6587;&#x4EF6;&#x4E0D;&#x542B;BOM&#xFF0C;dos2unix&#x4F1A;&#x5C06;&#x5176;&#x89C6;&#x4F5C;&#x4E8C;&#x8FDB;&#x5236;&#x6587;&#x4EF6;&#x3002;</p>
<p>&#x8BF7;&#x4F7F;&#x7528;&#x9009;&#x9879; <code>-ul</code> &#x6216; <code>-ub</code> &#x6765;&#x8F6C;&#x6362;&#x4E0D;&#x542B;BOM&#x7684;UTF-16&#x6587;&#x4EF6;&#x3002;</p>
<p>dos2unix&#x9ED8;&#x8BA4;&#x4E0D;&#x8F93;&#x51FA;BOM&#x3002;&#x4F7F;&#x7528; <code>-b</code> &#x9009;&#x9879;&#x53EF;&#x4EE5;&#x8BA9;dos2unix&#x5C06;BOM&#x6DFB;&#x52A0;&#x5230;&#x8F93;&#x51FA;&#x6587;&#x4EF6;&#xFF0C;&#x5982;&#x679C;&#x8F93;&#x5165;&#x6587;&#x4EF6;&#x4E5F;&#x542B;&#x6709;BOM&#x7684;&#x8BDD;&#x3002;</p>
<p>unix2dos&#x9ED8;&#x8BA4;&#x8F93;&#x51FA;BOM&#xFF0C;&#x5982;&#x679C;&#x8F93;&#x5165;&#x6587;&#x4EF6;&#x4E5F;&#x542B;&#x6709;BOM&#x7684;&#x8BDD;&#x3002;&#x4F7F;&#x7528; <code>-r</code> &#x53EF;&#x4EE5;&#x79FB;&#x9664;BOM&#x3002;</p>
<p>&#x82E5;&#x4F7F;&#x7528;&#x4E86; <code>-m</code> &#x9009;&#x9879;&#xFF0C;dos2unix&#x548C;unix2dos&#x5C06;&#x603B;&#x662F;&#x8F93;&#x51FA;BOM&#x3002;</p>
<h2 id="Windows-Unicode">Windows&#x4E2D;Unicode&#x6587;&#x4EF6;&#x7684;&#x6587;&#x4EF6;&#x540D;</h2>
<p>dos2unix&#x5BF9;&#x4E8E;Windows&#x547D;&#x4EE4;&#x63D0;&#x793A;&#x7B26;&#x4E2D;&#x8BFB;&#x53D6;&#x548C;&#x5199;&#x5165;Unicode&#x6587;&#x4EF6;&#x540D;&#x6709;&#x989D;&#x5916;&#x7684;&#x652F;&#x6301;&#x3002;&#x8FD9;&#x610F;&#x5473;&#x7740;dos2unix&#x53EF;&#x4EE5;&#x6253;&#x5F00;&#x90A3;&#x4E9B;&#x5305;&#x542B;&#x975E;&#x9ED8;&#x8BA4;&#x7CFB;&#x7EDF;ANSI&#x7F16;&#x7801;&#x9875;&#x5B57;&#x7B26;&#x7684;&#x6587;&#x4EF6;&#x3002;&#x82E5;&#x8981;&#x67E5;&#x770B;Windows&#x7248;dos2unix&#x5728;&#x7F16;&#x8BD1;&#x65F6;&#x662F;&#x5426;&#x52A0;&#x5165;&#x4E86;Unicode&#x6587;&#x4EF6;&#x540D;&#x652F;&#x6301;&#xFF0C;&#x8BF7;&#x8F93;&#x5165; <code>dos2unix -V</code>&#x3002;</p>
<p>&#x5728;Windows&#x7EC8;&#x7AEF;&#x4E2D;&#x663E;&#x793A;Unicode&#x6587;&#x4EF6;&#x540D;&#x6709;&#x4E00;&#x4E9B;&#x9700;&#x8981;&#x6CE8;&#x610F;&#x7684;&#x95EE;&#x9898;&#x3002;&#x8BF7;&#x53C2;&#x89C1; <code>-D</code> &#x548C; <code>--display-enc</code> &#x9009;&#x9879;&#x3002;&#x6587;&#x4EF6;&#x540D;&#x5728;&#x7EC8;&#x7AEF;&#x4E2D;&#x53EF;&#x80FD;&#x65E0;&#x6CD5;&#x88AB;&#x6B63;&#x786E;&#x663E;&#x793A;&#xFF0C;&#x4F46;&#x5199;&#x5165;&#x6587;&#x4EF6;&#x65F6;&#x6587;&#x4EF6;&#x540D;&#x4ECD;&#x7136;&#x662F;&#x6B63;&#x786E;&#x7684;&#x3002;</p>
<h2 id="Unicode">Unicode&#x793A;&#x4F8B;</h2>
<p>&#x8F6C;&#x6362;Windows UTF-16&#x5230;Unix UTF-8&#xFF1A;</p>
<pre><code>dos2unix -n in.txt out.txt</code></pre>
<p>&#x8F6C;&#x6362;Windows UTF-16LE&#xFF08;&#x4E0D;&#x542B;BOM&#xFF09;&#x5230;Unix UTF-8&#xFF1A;</p>
<pre><code>dos2unix -ul -n in.txt out.txt</code></pre>
<p>&#x8F6C;&#x6362;Unix UTF-8&#x5230;Windows UTF-8&#xFF08;&#x5E76;&#x6DFB;&#x52A0;BOM&#xFF09;&#xFF1A;</p>
<pre><code>unix2dos -m -n in.txt out.txt</code></pre>
<p>&#x8F6C;&#x6362;Unix UTF-8&#x5230;Windows UTF-16&#xFF1A;</p>
<pre><code>unix2dos &lt; in.txt | iconv -f UTF-8 -t UTF-16 &gt; out.txt</code></pre>
<h1 id="GB18030">GB18030</h1>
<p>GB18030&#x662F;&#x4E2D;&#x56FD;&#x56FD;&#x5BB6;&#x6807;&#x51C6;&#x3002;GB18030&#x6807;&#x51C6;&#x7684;&#x4E00;&#x7CFB;&#x5217;&#x5B50;&#x96C6;&#x88AB;&#x5F3A;&#x5236;&#x5E94;&#x7528;&#x4E8E;&#x4E2D;&#x56FD;&#x9500;&#x552E;&#x7684;&#x8F6F;&#x4EF6;&#x4EA7;&#x54C1;&#x3002;&#x53C2;&#x89C1; <a href="https://en.wikipedia.org/wiki/GB_18030">https://en.wikipedia.org/wiki/GB_18030</a>&#x3002;</p>
<p>GB18030&#x4E0E;Unicode&#x5B8C;&#x5168;&#x517C;&#x5BB9;&#xFF0C;&#x5E76;&#x4E14;&#x53EF;&#x4EE5;&#x88AB;&#x8BA4;&#x4E3A;&#x662F;Unicode&#x683C;&#x5F0F;&#x7684;&#x53D8;&#x4F53;&#x3002;&#x548C;UTF-8&#x4E00;&#x6837;&#xFF0C;GB18030&#x4E5F;&#x517C;&#x5BB9;ASCII&#x3002;GB18030&#x4E5F;&#x517C;&#x5BB9;Windows 936&#x4EE3;&#x7801;&#x9875;&#xFF08;GBK&#xFF09;&#x3002;</p>
<p>&#x5728;Unix/Linux&#x4E2D;&#xFF0C;&#x82E5;&#x533A;&#x57DF;&#x7F16;&#x7801;&#x88AB;&#x8BBE;&#x7F6E;&#x4E3A;GB18030&#xFF0C;UTF-16&#x6587;&#x4EF6;&#x5C06;&#x88AB;&#x8F6C;&#x6362;&#x4E3A;GB18030&#x683C;&#x5F0F;&#x3002;&#x6CE8;&#x610F;&#x53EA;&#x6709;&#x5F53;&#x7CFB;&#x7EDF;&#x652F;&#x6301;&#x533A;&#x57DF;&#x8BBE;&#x7F6E;&#x65F6;&#x8FD9;&#x4E00;&#x624D;&#x4F1A;&#x8FDB;&#x884C;&#x8FD9;&#x4E00;&#x8F6C;&#x6362;&#x3002;&#x53EF;&#x4EE5;&#x4F7F;&#x7528; <code>locale -a</code> &#x547D;&#x4EE4;&#x6765;&#x83B7;&#x53D6;&#x53D7;&#x652F;&#x6301;&#x7684;&#x533A;&#x57DF;&#x3002;</p>
<p>&#x5728;Windows&#x4E2D;&#xFF0C;&#x4F60;&#x9700;&#x8981;&#x4F7F;&#x7528; <code>-gb</code> &#x9009;&#x9879;&#x6765;&#x8F6C;&#x6362;UTF-16&#x6587;&#x4EF6;&#x5230;GB18030&#x7F16;&#x7801;&#x3002;</p>
<p>GB18030&#x7F16;&#x7801;&#x7684;&#x6587;&#x4EF6;&#x548C;Unicode&#x6587;&#x4EF6;&#x4E00;&#x6837;&#x53EF;&#x4EE5;&#x542B;&#x6709;BOM&#x3002;</p>
<h1 id="pod9">&#x793A;&#x4F8B;</h1>
<p>&#x4ECE;&#x6807;&#x51C6;&#x8F93;&#x5165;&#x8BFB;&#x53D6;&#xFF0C;&#x5E76;&#x8F93;&#x51FA;&#x5230;&#x6807;&#x51C6;&#x8F93;&#x51FA;&#xFF1A;</p>
<pre><code>dos2unix &lt; a.txt
cat a.txt | dos2unix</code></pre>
<p>&#x8F6C;&#x6362;&#x5E76;&#x8986;&#x76D6;a.txt&#x548C;b.txt&#xFF1A;</p>
<pre><code>dos2unix a.txt b.txt
dos2unix -o a.txt b.txt</code></pre>
<p>&#x8F6C;&#x6362;&#x5E76;&#x8986;&#x76D6;a.txt&#xFF0C;&#x4F7F;&#x7528;ascii&#x6A21;&#x5F0F;&#xFF1A;</p>
<pre><code>dos2unix a.txt</code></pre>
<p>&#x8F6C;&#x6362;&#x5E76;&#x8986;&#x76D6;a.txt&#xFF0C;&#x4F7F;&#x7528;ascii&#x6A21;&#x5F0F;&#xFF1B;&#x8F6C;&#x6362;&#x5E76;&#x8986;&#x76D6;b.txt&#xFF0C;&#x4F7F;&#x7528;7&#x4F4D;&#x7F16;&#x7801;&#x6A21;&#x5F0F;&#xFF1A;</p>
<pre><code>dos2unix a.txt -c 7bit b.txt
dos2unix -c ascii a.txt -c 7bit b.txt
dos2unix -ascii a.txt -7 b.txt</code></pre>
<p>&#x5C06;a.txt&#x4ECE;Mac&#x683C;&#x5F0F;&#x8F6C;&#x6362;&#x5230;Unix&#x683C;&#x5F0F;&#xFF1A;</p>
<pre><code>dos2unix -c mac a.txt
mac2unix a.txt</code></pre>
<p>&#x5C06;a.txt&#x4ECE;Unix&#x683C;&#x5F0F;&#x8F6C;&#x6362;&#x5230;Mac&#x683C;&#x5F0F;&#xFF1A;</p>
<pre><code>unix2dos -c mac a.txt
unix2mac a.txt</code></pre>
<p>&#x8F6C;&#x6362;&#x5E76;&#x8986;&#x76D6;a.txt&#xFF0C;&#x4FDD;&#x7559;&#x539F;&#x59CB;&#x65F6;&#x95F4;&#x6233;&#xFF1A;</p>
<pre><code>dos2unix -k a.txt
dos2unix -k -o a.txt</code></pre>
<p>&#x8F6C;&#x6362;a.txt&#xFF0C;&#x5E76;&#x8F93;&#x51FA;&#x5230;e.txt&#xFF1A;</p>
<pre><code>dos2unix -n a.txt e.txt</code></pre>
<p>&#x8F6C;&#x6362;a.txt&#xFF0C;&#x5E76;&#x8F93;&#x51FA;&#x5230;e.txt&#xFF0C;&#x540C;&#x65F6;&#x4F7F;e.txt&#x7684;&#x65F6;&#x95F4;&#x6233;&#x548C;a.txt&#x4E00;&#x81F4;&#xFF1A;</p>
<pre><code>dos2unix -k -n a.txt e.txt</code></pre>
<p>&#x8F6C;&#x6362;&#x5E76;&#x8986;&#x76D6;a.txt&#xFF1B;&#x8F6C;&#x6362;b.txt&#x5E76;&#x8F93;&#x51FA;&#x5230;e.txt&#xFF1A;</p>
<pre><code>dos2unix a.txt -n b.txt e.txt
dos2unix -o a.txt -n b.txt e.txt</code></pre>
<p>&#x8F6C;&#x6362;c.txt&#x5E76;&#x8F93;&#x51FA;&#x5230;e.txt&#xFF1B;&#x8F6C;&#x6362;&#x5E76;&#x8986;&#x76D6;a.txt&#x548C;b.txt&#xFF1B;&#x8F6C;&#x6362;d.txt&#x5E76;&#x8F93;&#x51FA;&#x5230;f.txt&#xFF1A;</p>
<pre><code>dos2unix -n c.txt e.txt -o a.txt b.txt -n d.txt f.txt</code></pre>
<h1 id="pod10">&#x9012;&#x5F52;&#x8F6C;&#x6362;</h1>
<p>&#x7ED3;&#x5408; find(1) &#x548C; xargs(1) &#x4F7F;&#x7528; dos2unix &#x53EF;&#x4EE5;&#x9012;&#x5F52;&#x5730;&#x8F6C;&#x6362;&#x76EE;&#x5F55;&#x6811;&#x4E2D;&#x7684;&#x6587;&#x672C;&#x6587;&#x4EF6;&#x3002;&#x4F8B;&#x5982;&#xFF0C;&#x8F6C;&#x6362;&#x5F53;&#x524D;&#x76EE;&#x5F55;&#x7684;&#x76EE;&#x5F55;&#x6811;&#x4E2D;&#x6240;&#x6709;&#x7684; .txt &#x6587;&#x4EF6;&#xFF1A;</p>
<pre><code>dos2unix &lt; a.txt
cat a.txt | dos2unix</code></pre>
<p>&#x82E5;&#x6587;&#x4EF6;&#x540D;&#x4E2D;&#x6709;&#x7A7A;&#x683C;&#x6216;&#x5F15;&#x53F7;&#xFF0C;&#x5219;&#x9700;&#x8981;&#x4F7F;&#x7528; find(1) &#x9009;&#x9879; <code>-print0</code> &#x53CA;&#x76F8;&#x5E94;&#x7684; xargs(1) &#x9009;&#x9879; <code>-0</code>&#xFF1B;&#x5176;&#x4ED6;&#x60C5;&#x51B5;&#x4E0B;&#x5219;&#x53EF;&#x4EE5;&#x7701;&#x7565;&#x5B83;&#x4EEC;&#x3002;&#x4E5F;&#x53EF;&#x4EE5;&#x7ED3;&#x5408; <code>-exec</code> &#x9009;&#x9879;&#x6765;&#x4F7F;&#x7528; find(1)&#xFF1A;</p>
<pre><code>find . -name &#39;*.txt&#39; -exec dos2unix {} \;</code></pre>
<p>&#x5728;Windows&#x547D;&#x4EE4;&#x63D0;&#x793A;&#x7B26;&#x4E2D;&#xFF0C;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x4E0B;&#x5217;&#x547D;&#x4EE4;&#xFF1A;</p>
<pre><code>for /R %G in (*.txt) do dos2unix &quot;%G&quot;</code></pre>
<p>PowerShell&#x7528;&#x6237;&#x53EF;&#x4EE5;&#x5728;Windows PowerShell&#x4E2D;&#x4F7F;&#x7528;&#x5982;&#x4E0B;&#x547D;&#x4EE4;&#xFF1A;</p>
<pre><code>get-childitem -path . -filter &#39;*.txt&#39; -recurse | foreach-object {dos2unix $_.Fullname}</code></pre>
<h1 id="pod11">&#x533A;&#x57DF;</h1>
<dl>
<dt id="LANG"><b>LANG</b></dt>
<dd>
<p>LANG&#x73AF;&#x5883;&#x53D8;&#x91CF;&#x6307;&#x5B9A;&#x4E86;&#x7A0B;&#x5E8F;&#x6240;&#x4F7F;&#x7528;&#x7684;&#x9996;&#x9009;&#x8BED;&#x8A00;&#x3002;&#x5B83;&#x5305;&#x62EC;&#x51E0;&#x4E2A;&#x90E8;&#x5206;&#xFF1A;&#x7B2C;&#x4E00;&#x90E8;&#x5206;&#x662F;&#x5C0F;&#x5199;&#x7684;&#x8BED;&#x8A00;&#x7F16;&#x7801;&#xFF0C;&#x7B2C;&#x4E8C;&#x90E8;&#x5206;&#x662F;&#xFF08;&#x53EF;&#x9009;&#x7684;&#xFF09;&#x5927;&#x5199;&#x7684;&#x56FD;&#x5BB6;/&#x5730;&#x533A;&#x4EE3;&#x7801;&#xFF0C;&#x524D;&#x9762;&#x7528;&#x4E0B;&#x5212;&#x7EBF;&#x8FDE;&#x63A5;&#xFF1B;&#x7B2C;&#x4E09;&#x90E8;&#x5206;&#x4E5F;&#x662F;&#x53EF;&#x9009;&#x7684;&#xFF0C;&#x5373;&#x5B57;&#x7B26;&#x7F16;&#x7801;&#xFF0C;&#x524D;&#x9762;&#x7528;&#x70B9;&#x8FDE;&#x63A5;&#x3002;&#x4E00;&#x4E9B;POSIX&#x89C4;&#x8303;&#x7684;&#x793A;&#x4F8B;&#x5982;&#x4E0B;&#xFF1A;</p>
<pre><code>export LANG=zh &#x4E2D;&#x6587;
export LANG=zh_CN &#x4E2D;&#x6587;&#xFF0C;&#x4E2D;&#x56FD;
export LANG=zh_TW &#x4E2D;&#x6587;&#xFF0C;&#x53F0;&#x6E7E;
export LANG=es_ES &#x897F;&#x73ED;&#x7259;&#x8BED;&#xFF0C;&#x897F;&#x73ED;&#x7259;
export LANG=es_MX &#x897F;&#x73ED;&#x7259;&#x8BED;&#xFF0C;&#x58A8;&#x897F;&#x54E5;
export LANG=en_US.iso88591 &#x82F1;&#x8BED;&#xFF0C;&#x7F8E;&#x56FD;&#xFF0C;Latin-1&#x7F16;&#x7801;
export LANG=en_GB.UTF-8 &#x82F1;&#x8BED;&#xFF0C;&#x82F1;&#x56FD;&#xFF0C;UTF-8&#x7F16;&#x7801;</code></pre>
<p>&#x5B8C;&#x6574;&#x7684;&#x8BED;&#x8A00;&#x548C;&#x56FD;&#x5BB6;/&#x5730;&#x533A;&#x7F16;&#x7801;&#x53EF;&#x4EE5;&#x5728;gettext&#x624B;&#x518C;&#x4E2D;&#x627E;&#x5230;&#xFF1A;<a href="https://www.gnu.org/software/gettext/manual/html_node/Usual-Language-Codes.html">https://www.gnu.org/software/gettext/manual/html_node/Usual-Language-Codes.html</a></p>
<p>&#x5728;Unix&#x7CFB;&#x7EDF;&#x4E2D;&#xFF0C;&#x4F60;&#x53EF;&#x4EE5;&#x4F7F;&#x7528; locale(1) &#x547D;&#x4EE4;&#x83B7;&#x53D6;&#x7279;&#x5B9A;&#x533A;&#x57DF;&#x7684;&#x4FE1;&#x606F;&#x3002;</p>
</dd>
<dt id="LANGUAGE"><b>LANGUAGE</b></dt>
<dd>
<p>&#x53EF;&#x4EE5;&#x4F7F;&#x7528;LANGUAGE&#x53D8;&#x91CF;&#x6307;&#x5B9A;&#x4E00;&#x7CFB;&#x5217;&#x8BED;&#x8A00;&#x7684;&#x4F18;&#x5148;&#x7EA7;&#xFF0C;&#x5404;&#x9879;&#x4E4B;&#x95F4;&#x7531;&#x5192;&#x53F7;&#x5206;&#x5272;&#x3002;dos2unix&#x9996;&#x5148;&#x4F7F;&#x7528;LANGUAGE&#x53D8;&#x91CF;&#xFF0C;&#x5176;&#x6B21;&#x624D;&#x662F;LANG&#x3002;&#x4F8B;&#x5982;&#xFF0C;&#x9996;&#x9009;&#x4E2D;&#x6587;&#x3001;&#x5176;&#x6B21;&#x82F1;&#x6587;&#xFF1A;<code>LANGUAGE=zh:en</code>&#x3002;&#x5728;&#x4F7F;&#x7528;&#x8BED;&#x8A00;&#x4F18;&#x5148;&#x7EA7;&#x4E4B;&#x524D;&#xFF0C;&#x5FC5;&#x987B;&#x5148;&#x542F;&#x7528;&#x533A;&#x57DF;&#x5316;&#x529F;&#x80FD;&#xFF0C;&#x5373;&#x5C06;LANG&#xFF08;&#x6216;LC_ALL&#xFF09;&#x53D8;&#x91CF;&#x8BBE;&#x7F6E;&#x4E3A;&#x9664;&#x4E86;&ldquo;C&rdquo;&#x4EE5;&#x5916;&#x7684;&#x5176;&#x4ED6;&#x503C;&#x3002;&#x53C2;&#x89C1;gettext&#x624B;&#x518C;&#xFF1A;<a href="https://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html">https://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html</a></p>
<p>&#x5982;&#x679C;&#x4F60;&#x9009;&#x62E9;&#x4E86;&#x4E00;&#x4E2A;&#x4E0D;&#x53EF;&#x7528;&#x7684;&#x8BED;&#x8A00;&#xFF0C;&#x7A0B;&#x5E8F;&#x5C06;&#x4F1A;&#x8F93;&#x51FA;&#x6807;&#x51C6;&#x7684;&#x82F1;&#x8BED;&#x4FE1;&#x606F;&#x3002;</p>
</dd>
<dt id="DOS2UNIX_LOCALEDIR"><b>DOS2UNIX_LOCALEDIR</b></dt>
<dd>
<p>DOS2UNIX_LOCALEDIR&#x73AF;&#x5883;&#x53D8;&#x91CF;&#x5C06;&#x8986;&#x76D6;&#x7F16;&#x8BD1;&#x65F6;&#x8BBE;&#x7F6E;&#x7684;LOCALEDIR&#x53D8;&#x91CF;&#x3002;LOCALEDIR&#x88AB;&#x7528;&#x4E8E;&#x67E5;&#x627E;&#x8BED;&#x8A00;&#x6587;&#x4EF6;&#x3002;GNU&#x7A0B;&#x5E8F;&#x7684;&#x9ED8;&#x8BA4;&#x503C;&#x4E3A; <code>/usr/local/share/locale</code>&#x3002;&#x53EF;&#x4EE5;&#x4F7F;&#x7528; <b>--version</b> &#x67E5;&#x770B;&#x5F53;&#x524D;&#x7684;LOCALEDIR&#x3002;</p>
<p>&#x793A;&#x4F8B;&#xFF08;POSIX shell&#xFF09;&#xFF1A;</p>
<pre><code>export DOS2UNIX_LOCALEDIR=$HOME/share/locale</code></pre>
</dd>
</dl>
<h1 id="pod12">&#x8FD4;&#x56DE;&#x503C;</h1>
<p>&#x82E5;&#x6210;&#x529F;&#xFF0C;&#x8FD4;&#x56DE;0&#x3002;&#x82E5;&#x51FA;&#x73B0;&#x7CFB;&#x7EDF;&#x9519;&#x8BEF;&#xFF0C;&#x5219;&#x8FD4;&#x56DE;&#x6700;&#x8FD1;&#x4E00;&#x6B21;&#x7CFB;&#x7EDF;&#x9519;&#x8BEF;&#x53F7;&#x3002;&#x82E5;&#x53D1;&#x751F;&#x5176;&#x4ED6;&#x9519;&#x8BEF;&#xFF0C;&#x8FD4;&#x56DE;1&#x3002;</p>
<p>&#x5728;&#x5B89;&#x9759;&#x6A21;&#x5F0F;&#x4E0B;&#xFF0C;&#x8FD4;&#x56DE;&#x503C;&#x603B;&#x662F;&#x4E3A;0&#xFF0C;&#x9664;&#x975E;&#x547D;&#x4EE4;&#x884C;&#x9009;&#x9879;&#x6709;&#x8BEF;&#x3002;</p>
<h1 id="pod13">&#x9075;&#x5FAA;&#x89C4;&#x8303;</h1>
<p><a href="https://en.wikipedia.org/wiki/Text_file">https://en.wikipedia.org/wiki/Text_file</a></p>
<p><a href="https://en.wikipedia.org/wiki/Carriage_return">https://en.wikipedia.org/wiki/Carriage_return</a></p>
<p><a href="https://en.wikipedia.org/wiki/Newline">https://en.wikipedia.org/wiki/Newline</a></p>
<p><a href="https://en.wikipedia.org/wiki/Unicode">https://en.wikipedia.org/wiki/Unicode</a></p>
<h1 id="pod14">&#x4F5C;&#x8005;</h1>
<p>Benjamin Lin - &lt;blin@socs.uts.edu.au&gt; Bernd Johannes Wuebben&#xFF08;mac2unix&#x6A21;&#x5F0F;&#xFF09; - &lt;wuebben@kde.org&gt;&#xFF0C;Christian Wurll&#xFF08;&#x6DFB;&#x52A0;&#x989D;&#x5916;&#x65B0;&#x884C;&#xFF09; - &lt;wurll@ira.uka.de&gt;&#xFF0C;Erwin Waterlander - &lt;waterlan@xs4all.nl&gt;&#xFF08;&#x7EF4;&#x62A4;&#x8005;&#xFF09;</p>
<p>Project page: <a href="https://waterlander.net/dos2unix/">https://waterlander.net/dos2unix/</a></p>
<p>SourceForge&#x4E3B;&#x9875;&#xFF1A;<a href="https://sourceforge.net/projects/dos2unix/">https://sourceforge.net/projects/dos2unix/</a></p>
<h1 id="pod15">&#x53C2;&#x89C1;</h1>
<p>file(1) find(1) iconv(1) locale(1) xargs(1)</p>
</body>
</html>

View file

@ -0,0 +1,632 @@
名称
dos2unix - DOS/Mac - Unix文件格式转换器
概要
dos2unix [选项] [文件 …] [-n 输入文件 输出文件 ...]
unix2dos [选项] [文件 …] [-n 输入文件 输出文件 ...]
说明
本dos2unix软件包包括"dos2unix"和"unix2dos"工具可用于将纯文本文件在DOS或Mac格式与Unix格式之间相互转换。
DOS/Windows的文本文件中断行符是由两个字符共同表示的回车符CR和换行符LF。Unix的文本文件中换行符则由单个换行符L
F表示。而Mac的文本文件则由单个回车符CR用于Mac OS X之前的系统或单个换行符LF用于当下的新Mac OS表示。
除了断行符dos2unix还可以转换文件编码。一些DOS编码页可以被转换为Unix Latin-1Windows
UnicodeUTF-16文件也可以被转换为Unix UnicodeUTF-8文件。
二进制文件则会被自动跳过,除非指定了强制转换选项。
特殊文件,如目录和队列,会被自动跳过。
符号链接和其所指向的目标默认不会被转换。可以用选项来指定替换符号链接或者将输出写入到链接目标。Windows下不支持写入到符号链接的目标。
dos2unix参照SunOS/Solaris下的版本改写而成。这两个版本间有一个重大差异本版本默认进行原位转换旧文件模式而原来SunO
S/Solaris下的版本只支持配对转换新文件模式参见选项 "-o" 和
"-n"。还有一个区别是SunOS/Solaris下的版本默认使用 *iso* 模式,而本版本默认使用 *ascii* 模式。
选项
-- 将后面所有的选项当作文件名。如果你希望转换一个文件名以破折号开头的文件,可以使用这个选项。例如,要转换一个名为“-foo”的文件你可以
用这个命令:
dos2unix -- -foo
或者在新文件模式下:
dos2unix -n -- -foo out.txt
--allow-chown
在旧文件模式下,允许修改文件的所有者。
若使用此选项,将允许在转换文件时原始文件的属主或属组发生变更,类似于使用新文件模式进行转换。另请参见选项"-o" 和 "-n"。仅当
dos2unix 支持保护文件的属主/属组时才能使用该选项。
-ascii
默认转换模式。。参见 CONVERSION MODES 一节。
-iso
在DOS和ISO-8859-1字符集之间转换。参见 CONVERSION MODES 一节。
-1252
使用Windows 1252 编码页(西欧)。
-437
使用DOS 437 编码页美国。这是ISO转换时的默认编码页。
-850
使用DOS 850 编码页(西欧)。
-860
使用DOS 860 编码页(葡萄牙)。
-863
使用DOS 863 编码页(加拿大法语)。
-865
使用DOS 865 编码页(北欧)。
-7 将8位字符转换到7位空间。
-b, --keep-bom
保留字节序标记BOM。当输入文件含有BOM头时也向输出文件写入BOM。这是转换到DOS断行符时的默认行为。参见选项 "-r"。
-c, --convmode 转换模式
改变转换模式。转换模式可以为:*ascii*、*7bit*、*iso*或*mac*默认为ascii。
-D, --display-enc ENCODAGE
设置显示文本的编码。编码可以为:*ansi*、*unicode*、*unicodebom*、*utf8*、*utf8bom*,默认为
ansi。
这一选项只对支持Unicode文件名的Windows版dos2unix有效。它对文件名的读写无效只影响它们的显示结果。
在Windows控制台中有几种可以根据文本编码来显示文本的方法。它们各有利弊。
ansi
dos2unix默认使用ANSI编码文本。优点是它能提供向后兼容性并能用于raster和TrueType字体。在一些地方你可
能需要使用 "chcp" 命令将活动DOS
OEM编码页设置为Windows系统ANSI编码页因为dos2unix使用Windows系统编码页。
ansi的缺点是含有非系统默认编码页中字符的国际化文件名将无法被正确显示。你会看到一些问号或其他错误的字符。如果你不需要处理外文
文件名,这一方法是不错的选择。
unicodeunicodebom
Unicode编码Windows中对UTF-16的称呼的优点是文本可以被正确显示也无需改变活动编码页。你可能需要设置终端字
体为TrueType以便正确显示国际化字符。如果TrueType字体中不包含某个字符你会看到一个小方块有时方块中还会有一个问
号。
当你使用ConEmu终端时所以的文本将会被正确显示因为ConEmu会自动选择合适的字体。
Unicode的缺点在于它与ASCII不兼容。当你将输出重定向到其他程序或文件时它可能不那么容易处理。
当使用 "unicodebom"
方法时将会在Unicode文本前添加一个BOM字节序标记。在PowerShell中需要根据BOM来进行正确的重定向或管道
输出。
utf8utf8bom
utf8的优点在于它与ASCII兼容。你需要设置终端的字体为TrueType字体。使用TrueType字体可以使得文本得以正确显
示,就像使用 "unicode" 编码时那样。
缺点是当你使用默认的raster字体时所有的非ASCII字符将无法被正确显示。不仅是unicode文件名连翻译的消息也无法被
读取。在配置为东亚地区的Windows中当终端中显示这些消息时你可能会看到闪烁现象。
在ConEmu终端中utf编码方式可以正常工作。
当使用 "utf8bom"
方法时将会在Unicode文本前添加一个BOM字节序标记。在PowerShell中需要根据BOM来进行正确的重定向或管道
输出。
默认的编码方式可以通过设置 DOS2UNIX_DISPLAY_ENC 环境变量为 "unicode"
、"unicodebom"、"utf8" 或 "utf8bom" 来改变。
-e, --add-eol
如果文件末尾缺少换行符,则追加一个换行符。每次转换时均执行此操作。
从DOS转换至Unix格式的文件的末尾可能缺少换行符部分文本编辑器也会主动忽略文本文件末尾的换行符。由于POSIX规范要求文本文件中的
每一行必须以换行符结尾部分Unix程序在处理此类缺少末尾换行符的文件时可能存在问题例如拼接两个文本文件时第一个文件的最后一行会直
接与第二个文件的第一行相连,从而产生非预期的结果。
--error-binary
Return an error if a binary file is skipped.
-f, --force
强制转换二进制文件。
-gb, --gb18030
在Windows中UTF-16默认被转换为UTF-8格式无论区域设置为何。请使用这一选项将UTF-16文件转换为GB18030格式。
此选项只在Windows下有效。参加 GB18030 一节。
-h, --help
显示帮助,然后退出。
-i[标志], --info[=标志] 文件 …
显示文件信息。不进行转换。
将会显示下列信息按顺序DOS断行符的数量、Unix断行符的数量、Mac断行符的数量、是否有BOM、文本/二进制、文件名。
输出示例:
6 0 0 no_bom text dos.txt
0 6 0 no_bom text unix.txt
0 0 6 no_bom text mac.txt
6 6 6 no_bom text mixed.txt
50 0 0 UTF-16LE text utf16le.txt
0 50 0 no_bom text utf8unix.txt
50 0 0 UTF-8 text utf8dos.txt
2 418 219 no_bom binary dos2unix.exe
注意,二进制文件有时会被误判为文本文件。参见选项 "-s"。
如果额外使用了 "-e" 或 "--add-eol" 选项,则最后一行的断行符类型也会被显示,或者在缺失的情况下显示 "noeol"。
输出示例:
6 0 0 no_bom text dos dos.txt
0 6 0 no_bom text unix unix.txt
0 0 6 no_bom text mac mac.txt
1 0 0 no_bom text noeol noeol_dos.txt
可以为输出设置额外的标志(一个或多个)。
0 使用零字符("\0")而非换行符来分割文件信息行。用于在指定了 c 选项的情况下,正确解析含有空格或引号的文件名。请结合
xargs(1) 的选项 -0 或 "--null" 来使用。
d 显示DOS断行符的数量。
u 显示Unix断行符的数量。
m 显示Mac断行符的数量。
b 显示BOM状况。
t 显示文件为文本或二进制。
e 显示最后一行的断行符类型,如果不存在则显示 "noeol"。
c 只显示将会被转换的文件。
若设置了 "c"标志dos2unix将只显示含有DOS断行符的文件unix2dos将只显示含有Unix断行符的文件。
如果额外使用了 "-e" 或 "--add-eol" 选项,则最后一行缺失断行符的文件将被显示。
h 显示头部。
p 显示不含路径的文件名。
示例:
显示所有 *.txt 文件的信息:
dos2unix -i *.txt
只显示DOS断行符和Unix断行符的数量
dos2unix -idu *.txt
只显示BOM状况
dos2unix --info=b *.txt
列出含有DOS断行符的文件
dos2unix -ic *.txt
列出含有Unix断行符的文件
unix2dos -ic *.txt
列出含有DOS断行符或最后一行缺少断行符的文件
dos2unix -e -ic *.txt
只转换含有DOS断行符的文件保持其他文件不变
dos2unix -ic0 *.txt | xargs -0 dos2unix
查找含有DOS断行符的文本文件
find -name '*.txt' -print0 | xargs -0 dos2unix -ic
-k, --keepdate
将输入文件的时间戳应用到输出文件。
-L, --license
显示程序许可证。
-l, --newline
添加额外的新行。
dos2unix只有DOS断行符会被转换为两个Unix断行符。在Mac模式下只有Mac断行符会被转换为Unix断行符。
unix2dos只有Unix断行符会被转换为两个DOS断行符。在Mac模式下Unix断行符会被转换为两个Mac断行符。
-m, --add-bom
将字节序标记BOM写入到输出文件。默认情况下将写入UTF-8 BOM。
当输入文件为UTF-16格式并且使用了 "-u"选项将写入UTF-16 BOM。
当输出文件不是UTF-8、UTF-16或GB18030格式时请不要使用此选项。参加 UNICODE 一节。
-n, --newline 输入文件 输出文件 ...
新文件模式。转换输入文件并写入到输出文件。文件名必须成对给出,并且 *不能* 使用通配符,否则你 *将会*丢失文件。
使用新文件(配对)模式转换时,命令执行者必须为文件的所有者。新文件的读/写权限将由源文件的权限减去命令执行者的 umask(1) 得到。
--no-allow-chown
在旧文件模式下,不允许修改文件的所有者(默认选项)。
当原始文件的属主/属组无法保持不变时,停止格式转换。另请参见"-o" 和 "-n"选项。仅当 dos2unix
支持保护文件的属主/属组时才能使用该选项。
--no-add-eol
Do not add a line break to the last line if there isn't one
(default).
--no-error-binary
Do not return an error if a binary file is skipped (default).
-O, --to-stdout
将结果重定向至标准输出类似Unix过滤器。可以使用选项 "-o" 来切换回旧文件(原位修改)模式。
与选项
"-e"一起使用时可以确保拼接文件时上一个文件的最后一行不会错误地与下一个文件的第一行合并且不会受到Unicode字节序记号的干扰。
例如:
dos2unix -e -O file1.txt file2.txt > output.txt
-o, --oldfile 文件 ...
旧文件模式。转换并将输出覆盖到源文件。程序默认使用此模式,允许使用通配符。
在旧文件(替换)模式下,被转换的文件的所有者、组和读/写权限保持不变。当文件被其他具有写权限的用户如root转换时情况也是如此。如
果无法保持这些值不变转换将会终止。改变源文件的所有者可能造成其无法读取该文件而改变组则可能带来安全隐患使文件被不法分子读取。只有U
nix才支持转换时保留所有者、组和读/写权限。
若要查看 dos2unix 是否支持保护文件的所有者,请输入"dos2unix -V"。
dos2unix
在转换格式时会生成一个临时文件。如果在转换时出错,它会删除临时文件,从而保证原始文件不被更改;如果转换成功,将用临时文件替换原始文件。在
这一过程中,如果 dos2unix
无法将临时文件的所有者设置为原始文件的所有者,那么新生成的文件也无法保留原始文件的属主/属组属性(即便您对原始文件有写入权限)。在这种情
况下,可以使用"--allow-chown"选项来继续进行转换:
dos2unix --allow-chown foo.txt
或者在新文件模式下:
dos2unix -n foo.txt foo.txt
使用"--allow-chown"选项的好处在于:您可以使用通配符来操作文件,同时尽可能保持文件的所有者不变。
-q, --quiet
安静模式。不显示任何警告或信息。返回值为0除非命令行选项有误。
-r, --remove-bom
移除字节序标记BOM不写入BOM到输出文件。这是转换到Unix断行符时的默认行为。参见选项 "-b"。
-s, --safe
跳过二进制文件(默认)。
跳过二进制文件是为了避免可能的错误。请注意对二进制文件的探测并不能做到100%准确。程序通过扫描二进制文件所特有的标记来将其与文本文件
区分开来,但有的二进制文件可能只包含普通的文本字符,这样的文件就会被误判为文本文件。
By default, no error is returned when a binary file is skipped. When
the "--error-binary" option is used, an error is returned.
-u, --keep-utf16
Keep the original UTF-16 encoding of the input file. The output file
will be written in the same UTF-16 encoding, little- or big-endian,
as the input file. This prevents transformation to UTF-8. An UTF-16
BOM will be written accordingly. This option can be disabled with
the "-ascii" option.
-ul, --assume-utf16le
假定输入文件格式为UTF-16LE。
输入文件中有BOM时将会覆盖此选项。
如果你做了错误的假设输入文件不为UTF-16LE格式并且转换成功你将会得到一个错误的UTF-8格式的文件。你可以用
iconv(1) 来撤销转换将其从UTF-8转换回UTF-16LE。这样做可以恢复源文件。
对UTF-16LE的假定将根据 l<转换模式> 来工作。若改变了默认的 l<ascii> 模式,则这一假定将会被关闭。
-ub, --assume-utf16be
假定输入文件格式为UTF-16BE。
这一选项与 "-ul" 类似。
-v, --verbose
显示更多信息。将会显示有关BOM和转换统计的额外信息。
-F, --follow-symlink
追踪符号链接并转换其目标。
-R, --replace-symlink
将符号链接的目标替换为转换后的文件(原来的目标文件保持不变)。
-S, --skip-symlink
保持符号链接和其目标文件不变(默认)。
-V, --version
显示版本信息,然后退出。
Mac模式
默认情况下断行符将从DOS格式转换为Unix格式或相反。Mac格式的断行符将不会被转换。
Mac模式下Mac断行符将被转换为Unix格式或相反。DOS断行符将不会被转换。
若要以Mac模式运行请使用命令行选项 "-c mac",或使用命令 "mac2unix" 或 "unix2mac"。
转换模式
ascii
这是默认转换模式。该模式用于转换ASCII和ASCII兼容编码的文件例如UTF-8。启用ascii模式会禁用7bit和iso模式。
如果dos2unix带有UTF-16支持则UTF-16编码的文件在POSIX系统上将被转换为当前语区对应的字符编码在Windows上
则会被转换为UTF-8。启用 ascii 模式将禁用维持UTF-16编码的选项"-u"和假定输入为UTF-16的选项"-ul" 和
"-ub"。如需查看dos2unix是否带有UTF-16支持请运行 "dos2unix -V"。更多信息另请参见 UNICODE
章节。
7bit
在此模式下所以的8位非ASCII字符取值范围128-255将被转换到7位编码空间。
iso Unix下将在DOS字符集编码页和ISO字符集 ISO-8859-1Latin-1之间进行转换。不具有 ISO-8859-1
中对等字符的DOS字符将会被转换为点号“.”)。当 ISO-8859-1 字符集中没有DOS中的对等字符时也是如此。
当只指定了 "-iso" 选项时dos2unix将尝试确定当前活动代码页。若无法确定则使用默认代码页
CP437普遍用于美国。若要强制指定代码页请使用选项
-437美国、-850西欧、-860葡萄牙、-863法国、加拿大或-865北欧。 Windows
CP1252代码页西欧也可以通过选项 -1252 获得支持。若要使用其他代码页,可以结合 iconv(1)
使用dos2unix。iconv可以在很多字符编码间进行转换。
不对Unicode编码文本使用ISO转换。因这一转换会导致UTF-8编码文件损坏。
一些示例:
从DOS默认编码页转换到Unix Latin-1
dos2unix -iso -n in.txt out.txt
从DOS CP850转换到Unix Latin-1
dos2unix -850 -n in.txt out.txt
从Windows CP1252转换到Unix Latin-1
dos2unix -1252 -n in.txt out.txt
从WIndows CP1252转换到Unix UTF-8Unicode
iconv -f CP1252 -t UTF-8 in.txt | dos2unix > out.txt
从Unix Latin-1转换到DOS默认编码页
unix2dos -iso -n in.txt out.txt
从Unix Latin-1转换到DOS CP850
unix2dos -850 -n in.txt out.txt
从Unix Latin-1转换到Windows CP1252
unix2dos -1252 -n in.txt out.txt
从Unix UTF-8Unicode转换到Windows CP1252
unix2dos < in.txt | iconv -f UTF-8 -t CP1252 > out.txt
See also <https://czyborra.com/charsets/codepages.html> and
<https://czyborra.com/charsets/iso8859.html>.
UNICODE
编码
There exist different Unicode encodings. On Unix and Linux Unicode files
are typically encoded in UTF-8 encoding. On Windows Unicode text files
can be encoded in UTF-8, UTF-16, or UTF-16 big-endian, but are mostly
encoded in UTF-16 format.
转换
Unicode文本文件可以含有DOS、Unix或Mac断行符就像ASCII文本文件一样。
所有版本的dos2unix和unix2dos都可以转换UTF-8文件因为UTF-8向后兼容ASCII。
dos2unix and unix2dos with Unicode UTF-16 support, can read little- and
big-endian UTF-16 encoded text files. To see if dos2unix was built with
UTF-16 support type "dos2unix -V".
在Unix/Linux中UTF-16编码文件将被转换为区域字符编码所指定的编码。可以使用 locale(1)
命令来查看当前的区域字符编码。若无法转换,程序将报告转换错误并跳过此文件。
在Windows中UTF-16文件被默认转换为UTF-8格式。Windows和Unix/Linux均支持UTF-8格式的文本文件。
UTF-16和UTF-8编码相互兼容所以彼此转换时不会丢失文本。倘若转换中出错比如UTF-16格式的输入文件含有错误那么该文件将被跳过。
若使用了 "-u" 选项输出文件将会使用和输入文件相同的UTF-16编码。"-u"选项将阻止程序转换到UTF-8。
dos2unix和unix2dos没有用于转换UTF-8到UTF-16的选项。
ISO和7位编码模式的转换无法用于UTF-16文件。
字节序标记
在Windows中文本文件一般含有字节序标记BOM因为很多Windows程序包括记事本默认添加BOM。参见
<https://en.wikipedia.org/wiki/Byte_order_mark>。
在Unix中Unicode文件一般不含BOM。假定文本文件使用区域字符编码设置所指定的编码。
dos2unix只能检测含有BOM文件的UTF-16格式。若UTF-16文件不含BOMdos2unix会将其视作二进制文件。
请使用选项 "-ul" 或 "-ub" 来转换不含BOM的UTF-16文件。
dos2unix默认不输出BOM。使用 "-b" 选项可以让dos2unix将BOM添加到输出文件如果输入文件也含有BOM的话。
unix2dos默认输出BOM如果输入文件也含有BOM的话。使用 "-r" 可以移除BOM。
若使用了 "-m" 选项dos2unix和unix2dos将总是输出BOM。
Windows中Unicode文件的文件名
dos2unix对于Windows命令提示符中读取和写入Unicode文件名有额外的支持。这意味着dos2unix可以打开那些包含非默认系统AN
SI编码页字符的文件。若要查看Windows版dos2unix在编译时是否加入了Unicode文件名支持请输入 "dos2unix -V"。
在Windows终端中显示Unicode文件名有一些需要注意的问题。请参见 "-D" 和 "--display-enc"
选项。文件名在终端中可能无法被正确显示,但写入文件时文件名仍然是正确的。
Unicode示例
转换Windows UTF-16到Unix UTF-8
dos2unix -n in.txt out.txt
转换Windows UTF-16LE不含BOM到Unix UTF-8
dos2unix -ul -n in.txt out.txt
转换Unix UTF-8到Windows UTF-8并添加BOM
unix2dos -m -n in.txt out.txt
转换Unix UTF-8到Windows UTF-16
unix2dos < in.txt | iconv -f UTF-8 -t UTF-16 > out.txt
GB18030
GB18030是中国国家标准。GB18030标准的一系列子集被强制应用于中国销售的软件产品。参见
<https://en.wikipedia.org/wiki/GB_18030>。
GB18030与Unicode完全兼容并且可以被认为是Unicode格式的变体。和UTF-8一样GB18030也兼容ASCII。GB1803
0也兼容Windows 936代码页GBK
在Unix/Linux中若区域编码被设置为GB18030UTF-16文件将被转换为GB18030格式。注意只有当系统支持区域设置时这一才会进
行这一转换。可以使用 "locale -a" 命令来获取受支持的区域。
在Windows中你需要使用 "-gb" 选项来转换UTF-16文件到GB18030编码。
GB18030编码的文件和Unicode文件一样可以含有BOM。
示例
从标准输入读取,并输出到标准输出:
dos2unix < a.txt
cat a.txt | dos2unix
转换并覆盖a.txt和b.txt
dos2unix a.txt b.txt
dos2unix -o a.txt b.txt
转换并覆盖a.txt使用ascii模式
dos2unix a.txt
转换并覆盖a.txt使用ascii模式转换并覆盖b.txt使用7位编码模式
dos2unix a.txt -c 7bit b.txt
dos2unix -c ascii a.txt -c 7bit b.txt
dos2unix -ascii a.txt -7 b.txt
将a.txt从Mac格式转换到Unix格式
dos2unix -c mac a.txt
mac2unix a.txt
将a.txt从Unix格式转换到Mac格式
unix2dos -c mac a.txt
unix2mac a.txt
转换并覆盖a.txt保留原始时间戳
dos2unix -k a.txt
dos2unix -k -o a.txt
转换a.txt并输出到e.txt
dos2unix -n a.txt e.txt
转换a.txt并输出到e.txt同时使e.txt的时间戳和a.txt一致
dos2unix -k -n a.txt e.txt
转换并覆盖a.txt转换b.txt并输出到e.txt
dos2unix a.txt -n b.txt e.txt
dos2unix -o a.txt -n b.txt e.txt
转换c.txt并输出到e.txt转换并覆盖a.txt和b.txt转换d.txt并输出到f.txt
dos2unix -n c.txt e.txt -o a.txt b.txt -n d.txt f.txt
递归转换
结合 find(1) 和 xargs(1) 使用 dos2unix 可以递归地转换目录树中的文本文件。例如,转换当前目录的目录树中所有的
.txt 文件:
dos2unix < a.txt
cat a.txt | dos2unix
若文件名中有空格或引号,则需要使用 find(1) 选项 "-print0" 及相应的 xargs(1) 选项
-0其他情况下则可以省略它们。也可以结合 "-exec" 选项来使用 find(1)
find . -name '*.txt' -exec dos2unix {} \;
在Windows命令提示符中可以使用下列命令
for /R %G in (*.txt) do dos2unix "%G"
PowerShell用户可以在Windows PowerShell中使用如下命令
get-childitem -path . -filter '*.txt' -recurse | foreach-object {dos2unix $_.Fullname}
区域
LANG
LANG环境变量指定了程序所使用的首选语言。它包括几个部分第一部分是小写的语言编码第二部分是可选的大写的国家/地区代码,前面用下
划线连接第三部分也是可选的即字符编码前面用点连接。一些POSIX规范的示例如下
export LANG=zh 中文
export LANG=zh_CN 中文,中国
export LANG=zh_TW 中文,台湾
export LANG=es_ES 西班牙语,西班牙
export LANG=es_MX 西班牙语,墨西哥
export LANG=en_US.iso88591 英语美国Latin-1编码
export LANG=en_GB.UTF-8 英语英国UTF-8编码
完整的语言和国家/地区编码可以在gettext手册中找到<https://www.gnu.org/software/gettext/m
anual/html_node/Usual-Language-Codes.html>
在Unix系统中你可以使用 locale(1) 命令获取特定区域的信息。
LANGUAGE
可以使用LANGUAGE变量指定一系列语言的优先级各项之间由冒号分割。dos2unix首先使用LANGUAGE变量其次才是LANG。
例如,首选中文、其次英文:"LANGUAGE=zh:en"。在使用语言优先级之前必须先启用区域化功能即将LANG或LC_ALL
量设置为除了“C”以外的其他值。参见gettext手册<https://www.gnu.org/software/gettext/ma
nual/html_node/The-LANGUAGE-variable.html>
如果你选择了一个不可用的语言,程序将会输出标准的英语信息。
DOS2UNIX_LOCALEDIR
DOS2UNIX_LOCALEDIR环境变量将覆盖编译时设置的LOCALEDIR变量。LOCALEDIR被用于查找语言文件。GNU程序的
默认值为 "/usr/local/share/locale"。可以使用 --version 查看当前的LOCALEDIR。
示例POSIX shell
export DOS2UNIX_LOCALEDIR=$HOME/share/locale
返回值
若成功返回0。若出现系统错误则返回最近一次系统错误号。若发生其他错误返回1。
在安静模式下返回值总是为0除非命令行选项有误。
遵循规范
<https://en.wikipedia.org/wiki/Text_file>
<https://en.wikipedia.org/wiki/Carriage_return>
<https://en.wikipedia.org/wiki/Newline>
<https://en.wikipedia.org/wiki/Unicode>
作者
Benjamin Lin - <blin@socs.uts.edu.au> Bernd Johannes Wuebbenmac2unix模式
- <wuebben@kde.org>Christian Wurll添加额外新行 - <wurll@ira.uka.de>Erwin
Waterlander - <waterlan@xs4all.nl>(维护者)
Project page: <https://waterlander.net/dos2unix/>
SourceForge主页<https://sourceforge.net/projects/dos2unix/>
参见
file(1) find(1) iconv(1) locale(1) xargs(1)