Bash - an odd problem using sed or awk or for

inode0 inode0 at gmail.com
Fri Nov 30 00:56:30 UTC 2012


On Thu, Nov 29, 2012 at 6:48 PM, inode0 <inode0 at gmail.com> wrote:
> On Thu, Nov 29, 2012 at 5:33 PM, John Horne <john.horne at plymouth.ac.uk> wrote:
>> Hello,
>>
>> I have a bash script in which a variable is set to one or more lines of
>> text. What I want is to remove any lines up to and including a blank
>> line (or alternatively to echo all the lines after the last blank line).
>> There may be zero or more blank lines, and the blank lines need not be
>> consecutive. If there is no blank line, then all the lines should be
>> shown. If the last line is blank, then nothing should be shown. So for
>> example the variable may contain:
>>
>> ============ (the '=' are not part of the variable)
>> abc def
>>
>> hijk
>> xyz
>> ============
>>
>> So in this case what is wanted is:
>>
>> ============
>> hijk
>> xyz
>> ============
>>
>> to be shown.
>>
>> I tried something like:
>>
>>    echo "$XX" | sed -e '/./,/^$/d'
>>
>> but this didn't display anything. (Where XX is the variable.)
>
> echo "${XX[*]/*
>
> }"

Oh, for a simple variable this should work

echo "${XX/*

}"

John


More information about the users mailing list