Bash - an odd problem using sed or awk or for

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


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[*]/*

}"

John


More information about the users mailing list