Hi, 2 juil. 2021, 23:30 de dpchr...@holgerdanske.com:
> Perhaps the underlying issue is useless use of shell pipelines ("The Unix > Way"): > > 2021-07-02 12:44:43 dpchrist@dipsy ~/sandbox/perl > $ cat useless-use-of-grep > This is the first line: bla bla bla. > This is line xxxx: bla bla bla. > This is the last line: bla bla bla. > > 2021-07-02 12:45:38 dpchrist@dipsy ~/sandbox/perl > $ grep xxxx useless-use-of-grep | sed -e 's/bla/foo/' > This is line xxxx: foo bla bla. > > > Versus "all-in-one": > > 2021-07-02 12:45:39 dpchrist@dipsy ~/sandbox/perl > $ perl -ne 's/bla/foo/ && print if /xxxx/' useless-use-of-grep > This is line xxxx: foo bla bla. > > > The former is better from a "golfing" standpoint (e.g. fewer characters to > type). > Here is a better `sed` if you want a all-in-one: sed -n /xxxx/{s/bla/foo/p} useless-use-of-grep > But, it is interesting that the benchmark results defy the common perceptions > of "userland tools are are fast" and "Perl is slow": > > 2021-07-02 12:59:55 dpchrist@dipsy ~/sandbox/perl > $ time for n in {1..10000}; do grep xxxx useless-use-of-grep | sed -e > 's/bla/foo/' > /dev/null ; done > > real 0m42.162s > user 0m32.925s > sys 0m45.787s > > 2021-07-02 13:00:45 dpchrist@dipsy ~/sandbox/perl > $ time for n in {1..10000}; do perl -ne 's/bla/foo/ && print if /xxxx/' > useless-use-of-grep > /dev/null; done > > real 0m23.624s > user 0m14.308s > sys 0m10.826s > I'm not in front of my Linux terminal, can someone launch the `time` command for my `sed` above please ? :) Best regards, l0f4r0