News for hackers. Stuff that matters.
Re:Useful one-line scripts for sed (2005) by 801699 on Thursday June 08, 2017 @03:25AM (#14512541)
Here is something to use as a replacement for "grep -q".

In the past I found grep -q was not portable.

There are times when I do not have grep.

But I always have sed.

   cat grepq

   test $# -ge 1||
   exec echo usage: $0 PATTERN \[FILE\]

   # count lines until PATTERN 
   __=$(exec sed -n '/'"$1"'/!d;=;q' $2);
   # no of lines 
   exec test ${#__} -gt 0;
For example,

   grepq '93.184.216.34 example.com' /etc/hosts||
   echo 93.184.216.34 example.com >> /etc/hosts
One of the very early OReilly books has a chapter or two about sed that tries to describe it using an analogy to a scrivener in a monastary. Quite amusing. This is not the "sed and awk" book. It was an earlier book on text editing with UNIX. It may have been co-authored by OReilly himself; I cannot remember.

There are no comments on this comment yet.