[20190710]windows文本格式.txt
--//大家都知道windows文本格式是回车换行,与linux的文本格式存在一点点不同。
--//近在windows下遇到一些问题,做1个记录。
D:\>seq 4 > d:\a
D:\>ls -l a
-rw-rw-rw- 1 user group 12 Jul 10 17:33 a
D:\>xxd -c 16 a
0000000: 310d 0a32 0d0a 330d 0a34 0d0a 1..2..3..4..
--//你可以发现生成的文本格式是windows的文本格式。如果执行如下:
D:\>seq 4 | xargs -iQ C:\WINDOWS\system32\echo -e "create table tQ as select level id from dual connect by level<=power(4,Q)"
)as select level id from dual connect by level<=power(4,1
)as select level id from dual connect by level<=power(4,2
)as select level id from dual connect by level<=power(4,3
)as select level id from dual connect by level<=power(4,4
--//看到的输出很奇怪。
·
D:\>seq 4 | xargs -iQ C:\WINDOWS\system32\echo -e "create table tQ as select level id from dual connect by level<=power(4,Q)" > a
--//如果使用vim打开,可以发现实际上这里的Q在替换时带\r字符的。
create table t1
as select level id from dual connect by level<=power(4,1
)
create table t2
as select level id from dual connect by level<=power(4,2
)
create table t3
as select level id from dual connect by level<=power(4,3
)
create table t4
as select level id from dual connect by level<=power(4,4
)
--//也就是通过传递过来的是带有\r字符。
--//也就是要加一个过滤删除里面的\r字符。执行如下:
D:\>seq 4 | tr -d "\r" | xargs -iQ C:\WINDOWS\system32\echo -e "create table tQ as select level id from dual connect by level<=power(4,Q);"
create table t1 as select level id from dual connect by level<=power(4,1);
create table t2 as select level id from dual connect by level<=power(4,2);
create table t3 as select level id from dual connect by level<=power(4,3);
create table t4 as select level id from dual connect by level<=power(4,4);
--//这样小问题浪费半个小时,做一个记录很有必要。
[20190710]windows文本格式.txt
分享好友
分享这个小栈给你的朋友们,一起进步吧。
订阅须知
• 所有用户可根据关注领域订阅专区或所有专区
• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询
• 专区发布评论属默认订阅所评论专区(除付费小栈外)
技术专家
查看更多- 栈栈专家