Ale*_*ong 33 perl carriage-return hidden-characters
我有一个脚本将新字段附加到现有CSV,但是^M字符出现在旧行的末尾,因此新字段最终会出现在新行而不是同一行.如何^M使用Perl从CSV文件中删除字符?
JDr*_*ago 23
或1个班轮:
perl -p -i -e 's/\r\n$/\n/g' file1.txt file2.txt ... filen.txt
Run Code Online (Sandbox Code Playgroud)
稍微不相关,但要使用Perl从命令行中删除^ M,请执行以下操作:
perl -p -i -e "s/\r\n/\n/g" file.name
Run Code Online (Sandbox Code Playgroud)
小智 6
我更喜欢一个更通用的解决方案,可以使用DOS或Unix输入.假设输入来自STDIN:
while (defined(my $ln = <>))
{
chomp($ln);
chop($ln) if ($ln =~ m/\r$/);
# filter and write
}
Run Code Online (Sandbox Code Playgroud)