4 ms·
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
by 801699 9y ago
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.