Linux下使用awk處理windows文檔的問題

Windows文檔使用的是\r\n作為換行符
Linux中是使用\n作為換行符
這時(shí)就遇到個(gè)問題了,如果使用的vim(:set ff=unix)等比較智能的程序打開文檔,一般不必理會(huì)換行符不一致的問題。
但是在使用awk處理文檔時(shí)可能就會(huì)遇到一個(gè)坑。
例如文檔:

能給我簽名嗎  出專輯再議   我現(xiàn)在就要   我現(xiàn)在就要簽名 1
iphonex 好不好 iphone不好用   為什么不好用  iphonex為什么不好用   1
西安天氣    西安今天的天氣是多云轉(zhuǎn)小雨25度到35度東北風(fēng)3級(jí)   明天有雨嗎   西安明天有雨嗎 1

awk -F"\t" {if ($5 == 1) print $5}處理上面文檔就會(huì)發(fā)現(xiàn)問題,因?yàn)閍wk沒那么多小心思,它處理一行數(shù)據(jù)時(shí)只把\n給吃掉了,于是$5位置的數(shù)據(jù)就是^M1就不等于1了。
使用awk -F"\t" {if (int($5) == 1) print $5}可以正常比較。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容