美文网首页
Linux下使用awk处理windows文档的问题

Linux下使用awk处理windows文档的问题

作者: Nevrast | 来源:发表于2020-02-20 14:03 被阅读0次

    Windows文档使用的是\r\n作为换行符
    Linux中是使用\n作为换行符
    这时就遇到个问题了,如果使用的vim(:set ff=unix)等比较智能的程序打开文档,一般不必理会换行符不一致的问题。
    但是在使用awk处理文档时可能就会遇到一个坑。
    例如文档:

    能给我签名吗  出专辑再议   我现在就要   我现在就要签名 1
    iphonex 好不好 iphone不好用   为什么不好用  iphonex为什么不好用   1
    西安天气    西安今天的天气是多云转小雨25度到35度东北风3级   明天有雨吗   西安明天有雨吗 1
    

    awk -F"\t" {if ($5 == 1) print $5}处理上面文档就会发现问题,因为awk没那么多小心思,它处理一行数据时只把\n给吃掉了,于是$5位置的数据就是^M1就不等于1了。
    使用awk -F"\t" {if (int($5) == 1) print $5}可以正常比较。

    相关文章

      网友评论

          本文标题:Linux下使用awk处理windows文档的问题

          本文链接:https://www.haomeiwen.com/subject/errxqhtx.html