ITPub博客

首页 > IT基础架构 > 应用安全 > [20190710]windows文本格式.txt

[20190710]windows文本格式.txt

原创 应用安全 作者:lfree 时间:2019-07-13 21:08:12 1 删除 编辑

[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);

--//这样小问题浪费半个小时,做一个记录很有必要。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-2650452/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
熟悉oracle相关技术,擅长sql优化,rman备份与恢复,熟悉linux shell编程。

注册时间:2008-01-03

  • 博文量
    4006
  • 访问量
    7969544