[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 有熟悉sed的么?这句话我搞不懂阿



不需要有REQUIRE了,因为不管是REQUIRE还是别的什么东西,匹配 "[^=]*" (即任意多个(包括零个)非=字符构成的字符串)。
由于被 s 命令处理的行总是以 REQUIRES开头,接着是可选的空格,接着是等号,这些内容正好匹配了 s 命令的查找正则表达式,所以实质该
s 命令的作用就是删除这些内容。

2008/9/6 zhihang wang <zhihang.wang@gmail.com>:
> 后面的串里面没有require啊?
>
> 2008/9/5 Ding Honghui <hhding.gnu@gmail.com>
>>
>> /^REQUIRES *=/表示如果遇到REQUIRES为开头,后面有任意个空格之后有一个等号
>> 的情况
>> s表示替换,中间是一个正则表达式,表示把任意个非=,然后是任意个等号这样的
>> 字符串替换为空。
>> p表示打印结果。
>>
>> 匹配的可能情况可能是这样的:
>> REQUIRES ======full-config
>> REQUIRES=full-config
>> REQUIRES = full-config
>> 你可以grep ^REQUIRES
>> /opt/FriendlyARM/QQ2440/arm-qtopia/qt-x11/./examples/aclock/Makefile.in
>> 看看是否是这样的。
>>
>> 正则表达式是unix中传统的一个强大的工具。
>>
>> zhihang wang 写道:
>> > 有熟悉sed的么?这句话我搞不懂阿
>> > sed -n -e '/^REQUIRES *=/ { s/[^=]*=*//; p; }'
>> > /opt/FriendlyARM/QQ2440/arm-qtopia/qt-x11/./examples/aclock/Makefile.in
>> > 出来结果竟然是full-config。太奇妙了
>> >
>> >
>> >
>> > --
>> > Best Regards
>> > zhihang wang
>
>
>
> --
> Best Regards
> zhihang wang
>

Reply to: