分页: 1 / 1
shell正则表达式提取
发表于 : 2010-07-16 8:43
由 罗非鱼
有许多字符串,类似table.csv?s=AYab$,我需要用shell提取出AYab,请问,如何提取?
Re: shell正则表达式提取
发表于 : 2010-07-16 8:55
由 trigger
你把那写类似的多贴出几条来,也好让人知道怎么个类似
Re: shell正则表达式提取
发表于 : 2010-07-16 9:18
由 eexpress
有软件的啊。实时显示结果的。练习正则的。
找找。
Re: shell正则表达式提取
发表于 : 2010-07-16 9:18
由 xiooli
代码: 全选
awk -F"[=\$]" '{print $2}'
Re: shell正则表达式提取
发表于 : 2010-07-16 9:29
由 trigger
代码: 全选
awk -F"[=\$]" '{print $2}'
如果楼主是这个意思,还可以这样写,不必正则,还是ee教的
代码: 全选
echo "table.csv?s=AYab$" | cut -f 2 -d"=" | cut -f 1 -d"$"
AYab
Re: shell正则表达式提取
发表于 : 2010-07-16 9:36
由 eexpress
xiooli, 这死家伙。从头到尾,就知道黏糊上了awk。
就不能变通点?
别人是要学正则啊。
Re: shell正则表达式提取
发表于 : 2010-07-16 10:49
由 tusooa
代码: 全选
tlcr: 0 庚寅年六月初五日 10:44:01 ~
>> perl -pe 's/^.*=(.+)\$$/$1/g'
table.csv?s=AYab$
AYab
tlcr: 0 庚寅年六月初五日 10:45:42 ~
>>

当然,perl -p换成sed也行
Re: shell正则表达式提取
发表于 : 2010-07-18 20:12
由 xiooli
eexpress 写了:xiooli, 这死家伙。从头到尾,就知道黏糊上了awk。
就不能变通点?
别人是要学正则啊。
awk 好用,为啥不用呢? 另外,那里面也有正则嘛, "[=\$]" 这不是?

Re: shell正则表达式提取
发表于 : 2010-07-20 12:13
由 kokerjie
eexpress 写了:xiooli, 这死家伙。从头到尾,就知道黏糊上了awk。
就不能变通点?
别人是要学正则啊。
用awk简单呀,别人是高手
Re: shell正则表达式提取
发表于 : 2010-07-23 23:56
由 TheRedIsEast
代码: 全选
grep -Eio "\<[a-z]{4}\>"
Re: shell正则表达式提取
发表于 : 2010-07-23 23:58
由 TheRedIsEast
代码: 全选
echo "table.csv?s=AYab$"|sed -r 's/[^A-Z]+([a-ZA-Z]+).$/\1/'