[OT] can sed handle this situation? (might require variable)

Zhang Weiwu zhangweiwu at realss.com
Mon Apr 16 00:40:57 UTC 2007


Parv 写道:
> in message <1176625617.22011.16.camel at joe.realss.com>,
> wrote Zhang Weiwu thusly...
>   
>> On Sun, 2007-04-15 at 01:40 -0400, Parv wrote:
>>     
>>> in message <1176603461.20274.12.camel at joe.realss.com>,
>>> wrote Zhang Weiwu thusly...
>>>       
> ...
>   
>>>> I've got a situation that looks like require using variable
>>>> and not possible to process with sed. But I am not sure. Can
>>>> someone suggest me if this task is out of scope of sed?
>>>>         
>>> Try some variation of what Garret suggested if sed is the
>>> requirement and skip rest of the message.
>>>       
>> Thank you very much for all of you providing insights. I have not
>> yet tried all possibilities in sed but I have just discovered it's
>> relatively easy to handle this task in awk with this script:
>>
>> /^$/ { print "createTimestamp:", timeStamp; timeStamp = ""; }
>>     
>
> This prints a "createTimestamp:" line on its own block for every 2
> consecutive empty lines (in context of the whole program).
>
>   
Ah, yes, if there are two empty lines this line would create a mistake. 
The original input file's sections are strictly one-empty-line-divided 
and one empty line before EOF, thus I was lucky. However I wasn't aware 
of your point when I wrote this.
>   
>> /^ahkCreateTimeStamp:/ { timeStamp = $2;}
>> /^createTimestamp:/ { if (timeStamp == "") timeStamp = $2; }
>>
>> $0 !~ /^ahkCreateTimeStamp:/ && $0 !~ /^createTimestamp:/ {
>> 	print;
>> }
>>     
>
> Interesting, your description of the solution (sadly not in the
> quoted reply) allowed for "createTimestamp" move to
> "ahkCreateTimeStamp" line, but implementation above keeps the
> "createTimestamp" at its place.  So I suppose order does not
> matter(?).
>
>   
Well, actually order is not important. I forgot to mention this...


More information about the freebsd-questions mailing list