<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post//</link>
<title><![CDATA[[个人原创]Linux下vi编辑过的文件末尾都有换行符：换行符() 相当于ASCII 换行字符（十六进制0A）]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[Php/Js/Shell/Go]]></category>
<pubDate>Wed, 22 Sep 2010 06:25:59 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	今天，在写shell的时候，需要读取一个sh文件的内容，然后给予拼接字符串后执行这个字符串，出现换行的情况，于是，经过苦心查找，原来是读取vi编辑文件的后面有换行符，通过php的trim对其做了处理，OK，以前一直没有注意，原来Linux的vi一直都在干这个事情，哈哈哈，特别写下这个记录！<br/>----------------------------------------------------------------------------------------------------------------------------------------------------<br/>Linux下vi一个jackxiang.txt，然后，sz下来，用编辑器：FlexHEX.ext打开Jackxiang.txt，换行符的查看：<br/><div class="code">16进制：6A 61 63 6B 78 69 61 6E 67 0A<br/>原文：jackxiang</div><br/>换行符(&#92;n) 相当于ASCII 换行字符（十六进制0A），<br/>因此，在文本模式下打开的文件作为新行字符读入CR/LF 对，并且作为CR/LF 写入新行字符。<br/>原来是vi编辑器自己在行尾加了个&#92;n换行符。用od命令可看的很清楚：od -A&nbsp;&nbsp;d -t c jackxiang.txt<br/><br/><div class="code">Onecent:/usr/local/tads/htdocs/*****_2010/bin # od -A&nbsp;&nbsp;d -t c jackxiang.txt<br/>0000000&nbsp;&nbsp; j&nbsp;&nbsp; a&nbsp;&nbsp; c&nbsp;&nbsp; k&nbsp;&nbsp; x&nbsp;&nbsp; i&nbsp;&nbsp; a&nbsp;&nbsp; n&nbsp;&nbsp; g&nbsp;&nbsp;&#92;n<br/>0000010</div><br/>PHP用trim去掉换行符，即可！&nbsp;&nbsp;&quot;&#92;n&quot; (ASCII 10 (0x0A)), a new line (line feed). <br/><br/><br/>补充学问：<br/>vi test.txt<br/>输入abc三个字符<br/>但，ls -l可看到test.txt占了3个字节<br/>为什么会这样呢？<br/>原来是vi编辑器自己在行尾加了个&quot;&#92;n&quot;换行符。<br/>用od命令可看的很清楚：<br/>od -A d -t c text.txt<br/>得到输出如下（0000000/0000004是偏移量）：<br/>0000000&nbsp;&nbsp; a&nbsp;&nbsp; b&nbsp;&nbsp; c&nbsp;&nbsp;&#92;n<br/>0000004<br/><br/>其实并不是linux文件都会有&#92;n换行符在末尾，比如echo -n &quot;abc&quot; &gt; test1.txt<br/>test1.txt的末尾就不会又换行符。<br/><br/>附：linux od(octal dump) 命令详解<br/><br/>Linux指令：od<br/><br/>示例用法：od -c hello<br/><br/>Linux指令：od<br/><br/>od命令<br/>用户通常使用od命令查看特殊格式的文件内容。通过指定该命令的不同选项可以以十进制、八进制、十六进制和ASCII码来显示文件。<br/><br/>语法：od ［选项］ 文件…<br/>命令中各选项的含义：<br/>- A 指定地址基数，包括：<br/>d 十进制<br/>o 八进制（系统默认值）<br/>x 十六进制<br/>n 不打印位移值<br/>- t 指定数据的显示格式，主要的参数有：<br/>c ASCII字符或反斜杠序列<br/>d 有符号十进制数<br/>f 浮点数<br/>o 八进制（系统默认值为02）<br/>u 无符号十进制数<br/>x 十六进制数<br/>除了选项c以外的其他选项后面都可以跟一个十进制数n，指定每个显示值所包含的字节数。<br/><br/>说明：od命令系统默认的显示方式是八进制，这也是该命令的名称由来（Octal<br/>Dump）。但这不是最有用的显示方式，用ASCII码和十六进制组合的方式能提供更有价值的信息输出。
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [个人原创]Linux下vi编辑过的文件末尾都有换行符：换行符() 相当于ASCII 换行字符（十六进制0A）]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>