linux问题 使用awk命令处理以“|”分割的变长文件时,由于其中某些字段存在汉字,导致出现乱码错位 25
使用awk命令处理以“|”分割的变长文件时,由于其中某些字段存在汉字,导致了乱码,结果某些汉字中的乱码被awk认为是分隔符“|”,使得处理出来的文件字段许多记录出现字段错...
使用awk命令处理以“|”分割的变长文件时,由于其中某些字段存在汉字,导致了乱码,结果某些汉字中的乱码被awk认为是分隔符“|”,使得处理出来的文件字段许多记录出现字段错位。请问如何解决?
出问题的字段如下:
|浜烘皯闾数鍑虹増绀缃楝肩帇[057]|0|0
我使用的命令是:
cat filename |awk -F "|" '\
{if(length($94)>6)\
{ if(length($1) == 6) {print substr($2,5,14)"0698025"substr($3,3,4)substr($1,3,6)"|"substr($14,3,13)"|"$67"|"substr($94,14,6)"|"$1"|"$94} \
} \
}'>> /home/chnscv/work/wangjwc/tmp/ww_REC.201301.txt
由于网页显示问题,可能我粘贴的那条数据中找不到乱码”|“了,但它确实是存在的 展开
出问题的字段如下:
|浜烘皯闾数鍑虹増绀缃楝肩帇[057]|0|0
我使用的命令是:
cat filename |awk -F "|" '\
{if(length($94)>6)\
{ if(length($1) == 6) {print substr($2,5,14)"0698025"substr($3,3,4)substr($1,3,6)"|"substr($14,3,13)"|"$67"|"substr($94,14,6)"|"$1"|"$94} \
} \
}'>> /home/chnscv/work/wangjwc/tmp/ww_REC.201301.txt
由于网页显示问题,可能我粘贴的那条数据中找不到乱码”|“了,但它确实是存在的 展开
2个回答
展开全部
先想办法吧你的乱码搞好吧,既然你已经指定了|为分隔符,那么他肯定是按照|进行分割的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询