111 222 333
444 555 666→
777 888 999
BEGIN{IGNORECASE = 1; FS = " "; RS = "\n"}
{
print "第"NR"條記錄共"NF"個字段",$0
}
上面→ 二進制代碼為0x1a,被awk當成EOF處理,隨意結果是
第1條記錄共3個字段 111 222 333
第2條記錄共3個字段 444 555 666
第三行讀不出來,因為遇見那個箭頭符號,然後當成EOF,之後都不處理了。
該怎麼解決這個問題,讓代碼能忽視掉那個箭頭(0x1a)呢
求大神們,幫幫忙
十六進制的 0x1a 是文本文件的文件結束符,因為是不可打印字符,本來就不該在文本文件中出現
文本文件中只應該存在以下控制符:0x09 制表符、0x0a 換行符和 0x0d 回車符(windows才有)
若要忽略對他的處理,需要以二進制方式打開文件