我正在編寫一個Perl程序,在200字節記錄末尾添加\ r \ n作爲第201和第202字節。我試圖做的是這樣的:將 x0D x0A添加到記錄結尾
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
。
那麼,在這種情況下,vim是不可見的嗎?
確保您的輸出文件是使用['binmode'(http://perldoc.perl.org/functions/binmode.html)。那麼只要做「\ r \ n」就足夠了。 – Miller
你能詳細說明你如何檢查你的記錄長度嗎?另外,「超過202字節」多長時間? –
@ Mr.Llama剛剛用回答編輯了文件。 – octopusgrabbus