1
david_lee_cn OP 思维定势。
imsi=gsub(/;/,,imsi_ary[2]) 实际得到gsub执行结果 1 或者0。 直接gsub()即可改变imsi_ary[2]的值。 closed。 |
2
ufo22940268 2012-02-21 11:09:04 +08:00
awk的文档真是难懂阿,每次man awk都一头雾水
|
3
gastlygem 2012-02-21 14:36:27 +08:00
@ufo22940268 info awk 会让你雾水更多~
|
4
ufo22940268 2012-02-21 17:10:27 +08:00
@gastlygem 咦,info awk和man awk显示的信息不是一样的吗?
|
5
kojp 2012-02-21 17:42:37 +08:00
Awk堪称很 锋利的 ! 尤其是对文本的处理 ...
|
6
gastlygem 2012-02-21 19:33:10 +08:00
@ufo22940268 如果你用gawk的话,info给你的是一本书……
|
7
likuku 2012-02-21 19:43:28 +08:00
grep "8671200001" | awk -F "=" '{print $2}' | awk -F ";" '{print $1}'
|
8
iwinux 2012-02-21 20:12:30 +08:00
sed -e "s/\(IMSI\|ISDN\)=\([0-9]\+\);/\2/"
|
9
iwinux 2012-02-21 20:14:05 +08:00
Sorry,应该是 grep "IMSI" | sed -e "s/\([0-9]\+\)/\1/"
|
10
laiwei 2012-02-21 21:19:51 +08:00 via Android
grep ‘IMSI’ foo.txt|cut -d"=" -f2
或者 grep ‘IMSI’ foo.txt|awk -F "=" "{print $2}" 或者 awk -F "=" "/$1='IMSI'/{print $2}" |
11
Echoldman 2012-02-21 21:37:59 +08:00
看成了“AFK”。。
|
12
eric_q 2012-02-21 22:53:46 +08:00
这里用sed应该更省力些,除了@iwinux的写法,还可以这么写:
cat foo.txt|grep -v ISDN|sed -e 's/IMSI\=//' -e's/\;//' |
13
vz33 2012-03-18 10:43:19 +08:00
awk 'BEGIN{FS="=|;"}{if ($1=="IMSI")print $2}' foo.txt
|
14
polyahu 2012-03-23 10:16:00 +08:00
grep -oP '(?<=IMSI=)\d+' foo.txt
|