注册
登录
论坛
搜索
帮助
导航
私人消息 (0)
公共消息 (0)
论坛任务 (0)
系统消息 (0)
好友消息 (0)
帖子消息 (0)
批处理之家
»
UNIX/Linux Shell
» gawk中match无法正确匹配回车符\r
[新手上路]
批处理新手入门导读
[视频教程]
批处理基础视频教程
[视频教程]
VBS基础视频教程
[批处理精品]
批处理版照片整理器
[批处理精品]
纯批处理备份&还原驱动
[批处理精品]
CMD命令50条不能说的秘密
[在线下载]
第三方命令行工具
[在线帮助]
VBScript / JScript 在线参考
返回列表
发帖
wankoilz
发短消息
加为好友
wankoilz
当前离线
UID
2707
帖子
394
精华
0
积分
1053
PB
863
技术
30
捐助
100
阅读权限
50
来自
重庆
在线时间
709 小时
注册时间
2008-6-5
最后登录
2024-7-2
上尉
帖子
394
积分
1053
技术
30
捐助
100
注册时间
2008-6-5
1
楼
跳转到
»
倒序看帖
打印
字体大小:
t
T
发表于 2015-10-8 14:30
|
只看该作者
[问题求助]
gawk中match无法正确匹配回车符\r
按理说gawk识别\n为行结束符,那么\r是可以被读取到的,可是我测试的结果是找不到\r,代码如下:
#&cls&@gawk -f %0 a.txt&pause>nul&exit
{print match($0,/\r/)}
复制代码
a.txt内容:
[attach]9164[/attach]
显示的结果全是0,就是没找到\r
[attach]9165[/attach]
劳烦哪位兄弟给分析下!
收藏
分享
wankoilz
发短消息
加为好友
wankoilz
当前离线
UID
2707
帖子
394
精华
0
积分
1053
PB
863
技术
30
捐助
100
阅读权限
50
来自
重庆
在线时间
709 小时
注册时间
2008-6-5
最后登录
2024-7-2
上尉
帖子
394
积分
1053
技术
30
捐助
100
注册时间
2008-6-5
2
楼
发表于 2015-10-8 15:01
|
只看该作者
原来是编码的问题。
刚换了下a.txt的编码,原来是ANSI,分别换成小端、大端试了试,得出的结果又有疑问。
小端结果:
[attach]9166[/attach]
大端结果:
[attach]9167[/attach]
从结果可以看出match()函数是根据“字节”算的(比如第一个\r的字符位置是7,而函数的结果是14)。
大端的第一行0D位置是14,没问题,我不能理解的是为什么大端的第一行结果是15。
兄弟们帮忙给分析下!(上班了,离开下...)
TOP
wankoilz
发短消息
加为好友
wankoilz
当前离线
UID
2707
帖子
394
精华
0
积分
1053
PB
863
技术
30
捐助
100
阅读权限
50
来自
重庆
在线时间
709 小时
注册时间
2008-6-5
最后登录
2024-7-2
上尉
帖子
394
积分
1053
技术
30
捐助
100
注册时间
2008-6-5
3
楼
发表于 2015-10-8 22:17
|
只看该作者
左思右想还是猜不透...
TOP
返回列表
批处理专区: BAT CMD DOS
BAT求助&讨论
BAT教程&资料
BAT原创&转载
BAT新大陆
BAT转载代码
新手练功
出题挑战
有偿求助
第三方命令行
开源原创工具
iBAT
Take Command
其他脚本区
PowerShell求助&讨论
PowerShell教程&资料
PowerShell原创&转载
VBS求助&讨论
JS / JScript / JavaScript
VBS教程&资料
VBS原创&转载
UNIX/Linux Shell
Python
Perl
网络资源区
电脑技术研讨
精品软件交流
论坛事务区
站务交流
意见反馈
论坛公告
版主申请
交换链接
建站杂谈
活动专区
论坛总版规
[收藏此主题]
[关注此主题的新回复]
[通过 QQ、MSN 分享给朋友]