Page MenuHomeFreeBSD

Remove an unneeded 'tail -n 1' from a pipeline
ClosedPublic

Authored by lidl on Mar 4 2019, 2:44 PM.

Details

Summary

When piping to awk, it's almost always an anti-pattern to use 'grep' first.

When not in a pipeline, sometimes it is faster to use tail, as awk must process all the lines, and won't 'seek'. In a pipeline, both must process all lines, so we might as well skip the extra process creation and just use awk for all the processing.

Test Plan

Verify that the output between:

zpool list -v $rootdev | tail -n 1 | awk '{print $1}'

and

zpool list -v $rootdev | awk 'END {print $1}'

Are the same on all my systems. The output is the same.

Diff Detail

Repository
rS FreeBSD src repository
Lint
Lint Skipped
Unit
Unit Tests Skipped
Build Status
Buildable 22863

Event Timeline

lidl created this revision.Mar 4 2019, 2:44 PM
jilles accepted this revision.Mar 8 2019, 10:00 PM
This revision is now accepted and ready to land.Mar 8 2019, 10:00 PM
This revision was automatically updated to reflect the committed changes.