[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