GNU bug report logs - #31787
Newline badly matched/substituted

Previous Next

Package: sed;

Reported by: Gabriel Czernikier <gabocze <at> gmail.com>

Date: Mon, 11 Jun 2018 18:31:02 UTC

Severity: normal

Done: Assaf Gordon <assafgordon <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Gabriel Czernikier <gabocze <at> gmail.com>
To: 31787 <at> debbugs.gnu.org
Subject: bug#31787: Newline badly matched/substituted
Date: Mon, 11 Jun 2018 15:29:41 -0300
[Message part 1 (text/plain, inline)]
sed --version
sed (GNU sed) 4.2.2

uname -o
Cygwin

uname -r
1.7.28(0.271/5/3)


For a file named threaddump.txt which contents delimited by ='s is:
==========================
                at
org/springframework/security/ui/SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)[optimized]

                at
org/springframework/security/util/FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)[optimized]

==========================

For which there's just line-feed as line separator (i.e. there's no
carriage-return at all), and just ASCII chars there are whithin.

For unambiguity's sake, the input in question, printed through sed -n l,
delimited by ='s is:
==========================
                at org/springframework/security/ui/SpringSecurityFilt\
er.doFilter(SpringSecurityFilter.java:53)[optimized]$
          $
                at org/springframework/security/util/FilterChainProxy\
$VirtualFilterChain.doFilter(FilterChainProxy.java:406)[optimized]$
          $
==========================

So, the wanted result is the input text transformed so that the newlines
are replaced, one on one, by, let's say, literal 'X's (without quotes). So
the result delimited by ='s, filtered through sed -n l, would be:
==========================
                at org/springframework/security/ui/SpringSecurityFilt\
er.doFilter(SpringSecurityFilter.java:53)X          X                \
at org/springframework/security/util/FilterChainProxy$VirtualFilterCh\
ain.doFilter(FilterChainProxy.java:406)X          X$
==========================

Of a couple of scripts that would seem apropriate to achieve this result,
none of them does it but with littering. Each program invocation followed
by its result, are shown next.
sed '$!N; s/\n/X/g;' threaddump.txt | sed -n l
==========================
                at org/springframework/security/ui/SpringSecurityFilt\
er.doFilter(SpringSecurityFilter.java:53)X          $
                at org/springframework/security/util/FilterChainProxy\
$VirtualFilterChain.doFilter(FilterChainProxy.java:406)X          $
==========================

sed '$!N; s/$/X/mg;' threaddump.txt | sed -n l
==========================
                at org/springframework/security/ui/SpringSecurityFilt\
er.doFilter(SpringSecurityFilter.java:53)X$
          X$
                at org/springframework/security/util/FilterChainProxy\
$VirtualFilterChain.doFilter(FilterChainProxy.java:406)X$
          X$
==========================

sed '$!N; s/$/X/mg; s/\n/X/g;' threaddump.txt | sed -n l
==========================
                at org/springframework/security/ui/SpringSecurityFilt\
er.doFilter(SpringSecurityFilter.java:53)XX          X$
                at org/springframework/security/util/FilterChainProxy\
$VirtualFilterChain.doFilter(FilterChainProxy.java:406)XX          X$
==========================

sed '$!N; s/\n/X/g; s/$/X/mg;' threaddump.txt | sed -n l
==========================
                at org/springframework/security/ui/SpringSecurityFilt\
er.doFilter(SpringSecurityFilter.java:53)X          X$
                at org/springframework/security/util/FilterChainProxy\
$VirtualFilterChain.doFilter(FilterChainProxy.java:406)X          X$
==========================

Regards,
Gabriel Czernikier
[Message part 2 (text/html, inline)]

This bug report was last modified 6 years and 222 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.