找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24956|回复: 2

[问题求助] gawk中match无法正确匹配回车符\r

[复制链接]
发表于 2015-10-8 14:30:49 | 显示全部楼层 |阅读模式
按理说gawk识别\n为行结束符,那么\r是可以被读取到的,可是我测试的结果是找不到\r,代码如下:
  1. #&cls&@gawk -f %0 a.txt&pause>nul&exit
  2. {print match($0,/\r/)}
复制代码
a.txt内容:

显示的结果全是0,就是没找到\r

劳烦哪位兄弟给分析下!
 楼主| 发表于 2015-10-8 15:01:15 | 显示全部楼层
原来是编码的问题。
刚换了下a.txt的编码,原来是ANSI,分别换成小端、大端试了试,得出的结果又有疑问。
小端结果:

大端结果:

从结果可以看出match()函数是根据“字节”算的(比如第一个\r的字符位置是7,而函数的结果是14)。
大端的第一行0D位置是14,没问题,我不能理解的是为什么大端的第一行结果是15。
兄弟们帮忙给分析下!(上班了,离开下...)
 楼主| 发表于 2015-10-8 22:17:57 | 显示全部楼层
左思右想还是猜不透...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 23:33 , Processed in 0.025535 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表