git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Change sed i\ usage to something Solaris' sed can handle

From
Junio C Hamano <gitster@pobox.com>
Date
Oct 30, 2013, 19:30 UTC
Message-ID
<xmqqeh72blpt.fsf@gitster.dls.corp.google.com>
In-Reply-To
<CAP30j15+E4cz_kwJwaSH7-3agwC5J3jGNfaixSUg2=8xAzZoQg@mail.gmail.com>
Ben Walton <bdwalton@gmail.com> writes:
Show 22 quoted lines
> On Mon, Oct 28, 2013 at 5:39 PM, Andreas Schwab <schwab@linux-m68k.org> wrote:
>> Ben Walton <bdwalton@gmail.com> writes:
>>
>>> diff --git a/t/t4015-diff-whitespace.sh b/t/t4015-diff-whitespace.sh
>>> index 3fb4b97..0126154 100755
>>> --- a/t/t4015-diff-whitespace.sh
>>> +++ b/t/t4015-diff-whitespace.sh
>>> @@ -145,7 +145,8 @@ test_expect_success 'another test, with --ignore-space-at-eol' 'test_cmp expect
>>>  test_expect_success 'ignore-blank-lines: only new lines' '
>>>       test_seq 5 >x &&
>>>       git update-index x &&
>>> -     test_seq 5 | sed "/3/i \\
>>> +     test_seq 5 | sed "/3/i\\
>>> +\
>>>  " >x &&
>>
>> Why do you need the \<nl>?  Since it is inside double quotes the shell
>> will remove it during expansion.
>
> It's an escape. Without it, sed throws:
>
> sed: -e expression #1, char 5: expected \ after `a', `c' or `i'
I think Andreas means the "feed blank line" part, i.e.
>> +     test_seq 5 | sed "/3/i\\
>> +\
>>  " >x &&
should be the same as
>> +     test_seq 5 | sed "/3/i\\
>>  " >x &&
because the lone \<nl> will be eaten and will not be seen by sed.
Do you see different results on Solaris between the following two?
	$ echo "/3/i\\
	\
	" | od
	$ echo "/3/i\\
        " | od
Previous: Andreas SchwabNext: Ben Walton
Message 5 of 6 in “Change sed i\ usage to something Solaris' sed can handle”
  1. Change sed i\ usage to something Solaris' sed can handleBen Walton, Oct 27, 2013
  2. Andreas SchwabOct 28, 2013
  3. Ben WaltonOct 28, 2013
  4. Andreas SchwabOct 28, 2013
  5. Junio C HamanoOct 30, 2013
  6. Change sed i\ usage to something Solaris' sed can handleBen Walton, Nov 3, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.