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}
可以正常比较。
网友评论