当前位置:  开发笔记 > 编程语言 > 正文

在Perl中,如何从文件中删除^ M?

如何解决《在Perl中,如何从文件中删除^M?》经验,为你挑选了5个好方法。

我有一个脚本将新字段附加到现有CSV,但是^M字符出现在旧行的末尾,因此新字段最终会出现在新行而不是同一行.如何^M使用Perl从CSV文件中删除字符?



1> Can Berk Güd..:

^ M是回车.你可以这样做:

$str =~ s/\r//g



2> JDrago..:

或1个班轮:

perl -p -i -e 's/\r\n$/\n/g' file1.txt file2.txt ... filen.txt


Perl Pie很容易记住这个.

3> Alex Wong..:

你发现你也可以这样做:

$line=~ tr/\015//d;



4> Roy Rico..:

稍微不相关,但要使用Perl从命令行中删除^ M,请执行以下操作:

perl -p -i -e "s/\r\n/\n/g" file.name



5> 小智..:

我更喜欢一个更通用的解决方案,可以使用DOS或Unix输入.假设输入来自STDIN:

while (defined(my $ln = <>))
  {
    chomp($ln);
    chop($ln) if ($ln =~ m/\r$/);

    # filter and write
  }

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有