Chinaunix
标题:
awk变量使用问题
[打印本页]
作者:
zhuifeng_wsd
时间:
2015-08-03 14:30
标题:
awk变量使用问题
遇到一个很奇怪的问题
如下文件:
cat test
00d2 00d2
00d5 00d5
00d8 00d8
00db 00db
00de 00de
00e1 00e1
00e4 00e4
00e7 00e7
00ea 00ea
00ed 00ed
那么如下命令
awk -v var=00e1 '$2==var{print $1}' test
期待是输出
00e1
可现在结果是输出
00e1
00e4
00e7
真是百思不得其解
作者:
haooooaaa
时间:
2015-08-03 14:35
$ awk -v var='00e1' '$2~var{print $1}' a
00e1
$ awk -v var='00e1' '$2==""var{print $1}' a
00e1
复制代码
作者:
zhuifeng_wsd
时间:
2015-08-03 14:38
回复
2#
haooooaaa
大神啊。
第一种,在我这里不适用,因为有00e1,还有00e1_01这种情况,没贴出来而已。
第二种,是个什么意思?为什么加上""就好了呢?我的问题是出在哪里?
希望大神不吝赐教。
作者:
haooooaaa
时间:
2015-08-03 14:42
加了 "" 应该让它认为是字符串吧,
作者:
zhuifeng_wsd
时间:
2015-08-03 14:48
回复
4#
haooooaaa
非常感谢大神,大致了解了。
作者:
MMMIX
时间:
2015-08-03 14:54
zhuifeng_wsd 发表于 2015-08-03 14:38
回复 2# haooooaaa
第一种,在我这里不适用,因为有00e1,还有00e1_01这种情况,没贴出来而已。
写成 -v var='^00e1$' 不就行了?
作者:
zhuifeng_wsd
时间:
2015-08-03 15:58
回复
6#
MMMIX
好,思路很不错,又学习了。
作者:
Shell_HAT
时间:
2015-08-07 15:30
参考:
http://blog.chinaunix.net/uid-17176286-id-5150859.html
作者:
MMMIX
时间:
2015-08-07 16:12
回复
8#
Shell_HAT
00e1, 00e4, 00e7 都是科学记数法里面的 0
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2