将\ x0D \ x0A添加到记录结尾

时间:2014-06-17 20:32:36

标签: perl vim file-format

我正在编写一个Perl程序,将\ r \ n添加为200字节记录末尾的第201个和第202个字节。我试图这样做:

use constant REPORT_LINE_LEN => 200;

while(($rc = read $infile, $report_line, REPORT_LINE_LEN(), 0) != 0)
{
    chomp $report_line;
    $report_line .= "\r\n" . "\n";
    print $outfile $report_line;
}

回车符^ M字符在201位置,我需要在202处的\ n,但似乎无法将其放在那里而不增加记录的长度超过202字节。我正在用vim验证^ M的位置,这表明该文件仍然是Unix格式。

我在那里搜索了很多来源,但我很难过。任何帮助将不胜感激,包括最后两个字节可能出现在vim中的方式。

我通过按'$'来确认vim中的记录长度到达行尾。现在,它说201.我也使用head -n 1 rmvtape.out | wc -c来确认记录的长度,其中rmvtape.out是包含这些记录的文件。长度为202

那么,在这种情况下,^ M在vim中是不可见的吗?

1 个答案:

答案 0 :(得分:2)

  

$ report_line。=" \ r \ n" 。 " \ n&#34 ;;

您在此处添加了三个字符,例如\r\n和另一个\n。 省略最后\n,一切都应该没问题,例如:

$report_line .= "\r\n";