分页: 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  ~
>>
:em11 :em11 :em11
当然,perl -p换成sed也行

Re: shell正则表达式提取

发表于 : 2010-07-18 20:12
xiooli
eexpress 写了:xiooli, 这死家伙。从头到尾,就知道黏糊上了awk。

就不能变通点?

别人是要学正则啊。
awk 好用,为啥不用呢? 另外,那里面也有正则嘛, "[=\$]" 这不是? :em01

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/'