在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2460|回复: 6

[求助] perl里如何重命名名称带^M的目录?

[复制链接]
发表于 2017-5-26 23:33:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
举例:aaa^M
其中^M是一个dos格式字符,在shell终端里,是这么打出来的“ctrl+v,然后enter回车”。

在shell里,
mv aaa^M aaa;
重命名操作成功。



在perl里,
`mv aaa^M aaa`;
重命名操作无法成功。会报错。怎么解决?





谢谢回复!
发表于 2017-5-27 11:54:23 | 显示全部楼层
usr/bin/perl-w

rename 'aa^M' => 'aaa';
发表于 2017-5-27 11:55:43 | 显示全部楼层
usr/bin/perl-w
rename 'aaa^M' => 'aaa';
发表于 2017-5-27 11:57:25 | 显示全部楼层
usr/bin/perl-w
rename 'aaa^M' => 'aaa';
or system 'mv aaa^M aaa';
发表于 2017-5-27 11:58:07 | 显示全部楼层
可以使用以下语句,互相切磋!
#!usr/bin/perl-w
rename 'aaa^M' => 'aaa';
or system 'mv aaa^M aaa';
发表于 2017-5-27 11:58:22 | 显示全部楼层
可以使用以下语句,互相切磋!
#!usr/bin/perl-w
rename 'aaa^M' => 'aaa';
or system 'mv aaa^M aaa';
 楼主| 发表于 2017-5-28 08:17:22 | 显示全部楼层




  1. [qilei@localhost test]$ mkdir aaa^M
  2. [qilei@localhost test]$ mkdir aaa1^M
  3. [qilei@localhost test]$ mkdir aaa2^M
  4. [qilei@localhost test]$ ls
  5. 1.pl  aaa?  aaa1?  aaa2?


复制代码


利用下述perl脚本,发现只有



  1. rename 'aaa2^M' , 'aaa2';


复制代码
能达到要求。谢谢戴尔卡耐基提供思路。




  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;

  4. `mv aaa^M aaa`;
  5. system 'mv aaa1^M aaa1';
  6. rename 'aaa2^M' , 'aaa2';


复制代码


再次强调,其中^M是一个dos格式字符,在shell终端里,是这么打出来的“ctrl+v,然后enter回车”。
利用ls命令会把特殊字符^M显示为?;如果cd TAB键不全,会发现目录仍然是aaa^M。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-20 00:39 , Processed in 0.018621 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表