diff mbox

fix unterminated sed cmd in export_report.pl

Message ID BANLkTimxtJeYMxnaA4Ovz0XOAZJKvB+yzA@mail.gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Jim Cromie May 11, 2011, 10:26 p.m. UTC
On Wed, May 11, 2011 at 3:26 PM, Arnaud Lacombe <lacombar@gmail.com> wrote:
> Hi
>
> On Wed, May 11, 2011 at 5:16 PM, Arnaud Lacombe <lacombar@gmail.com> wrote:
>> -     = `cat .tmp_versions/*.mod | grep '.*\.ko\$' | sed s/\.ko$/.mod.c/`;
>> +     = `sed '/\.ko$/!d; s/\.ko$/.mod.c/' .tmp_versions/*.mod`;
>>
> Actually, my perl-fuu is not what it used to be, that one should be better:
>
> +     = `sed '/\\.ko\$/!d; s/\\.ko\$/.mod.c/' .tmp_versions/*.mod`;
>
> The backslash before the '.' should be escaped as well to be passed to
> sed(1). I'll give it a try to confirm.
>
>  - Arnaud
>


I agree w your complicated-construct sentiment re the cmd-pipeline.

this used to be done with a grep,
undone by


commit 91416cfdf98bdbc828fd3e5ca7208beba5979d63
Author: Stephen Hemminger <shemminger@vyatta.com>
Date:   Mon Feb 22 15:17:22 2010 -0800

    export_report: fix perl warnings

    Use local file handles, use three argument open.
    Don't modify arguments in perl grep (use sed instead)

    Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
    Acked-by: WANG Cong <amwang@redhat.com>
    Cc: Michal Marek <mmarek@suse.cz>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Michal Marek <mmarek@suse.cz>

the backslash escape noise in the subshell pipeline can be avoided
by returning to the grep, with less process spawning too
(not that this is executed often)
I'll try that.
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Stephen Hemminger May 11, 2011, 10:39 p.m. UTC | #1
On Wed, 11 May 2011 16:26:23 -0600
Jim Cromie <jim.cromie@gmail.com> wrote:

> On Wed, May 11, 2011 at 3:26 PM, Arnaud Lacombe <lacombar@gmail.com> wrote:
> > Hi
> >
> > On Wed, May 11, 2011 at 5:16 PM, Arnaud Lacombe <lacombar@gmail.com> wrote:
> >> -     = `cat .tmp_versions/*.mod | grep '.*\.ko\$' | sed s/\.ko$/.mod.c/`;
> >> +     = `sed '/\.ko$/!d; s/\.ko$/.mod.c/' .tmp_versions/*.mod`;
> >>
> > Actually, my perl-fuu is not what it used to be, that one should be better:
> >
> > +     = `sed '/\\.ko\$/!d; s/\\.ko\$/.mod.c/' .tmp_versions/*.mod`;
> >
> > The backslash before the '.' should be escaped as well to be passed to
> > sed(1). I'll give it a try to confirm.
> >
> >  - Arnaud
> >
> 
> 
> I agree w your complicated-construct sentiment re the cmd-pipeline.
> 
> this used to be done with a grep,
> undone by
> 
> 
> commit 91416cfdf98bdbc828fd3e5ca7208beba5979d63
> Author: Stephen Hemminger <shemminger@vyatta.com>
> Date:   Mon Feb 22 15:17:22 2010 -0800
> 
>     export_report: fix perl warnings
> 
>     Use local file handles, use three argument open.
>     Don't modify arguments in perl grep (use sed instead)
> 
>     Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
>     Acked-by: WANG Cong <amwang@redhat.com>
>     Cc: Michal Marek <mmarek@suse.cz>
>     Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
>     Signed-off-by: Michal Marek <mmarek@suse.cz>
> 
> diff --git a/scripts/export_report.pl b/scripts/export_report.pl
> index 705b5ba..04dce7c 100644
> --- a/scripts/export_report.pl
> +++ b/scripts/export_report.pl
> @@ -49,10 +49,10 @@ sub usage {
>  }
> 
>  sub collectcfiles {
> -        my @file = `cat .tmp_versions/*.mod | grep '.*\.ko\$'`;
> -        @file = grep {s/\.ko/.mod.c/} @file;
> -       chomp @file;
> -        return @file;
> +    my @file
> +       = `cat .tmp_versions/*.mod | grep '.*\.ko\$' | sed s/\.ko$/.mod.c/`;
> +    chomp @file;
> +    return @file;
>  }
> 
> 
> the backslash escape noise in the subshell pipeline can be avoided
> by returning to the grep, with less process spawning too
> (not that this is executed often)
> I'll try that.

Even better would be doing the work in perl rather than using
shell for this.
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/scripts/export_report.pl b/scripts/export_report.pl
index 705b5ba..04dce7c 100644
--- a/scripts/export_report.pl
+++ b/scripts/export_report.pl
@@ -49,10 +49,10 @@  sub usage {
 }

 sub collectcfiles {
-        my @file = `cat .tmp_versions/*.mod | grep '.*\.ko\$'`;
-        @file = grep {s/\.ko/.mod.c/} @file;
-       chomp @file;
-        return @file;
+    my @file
+       = `cat .tmp_versions/*.mod | grep '.*\.ko\$' | sed s/\.ko$/.mod.c/`;
+    chomp @file;
+    return @file;
 }