fgrope(1) massage a file for a while

Other Alias

grope, egrope


grope [option] ... expression [file] ...
egrope [option] ... [expression] [file] ...
fgrope [option] ... [strings] [file]


Commands of the grope family search the input files (standard input default) for lines matching a pattern. Some of the lines matching this pattern will be sent to standard output. Others will not. Grope patterns are limited expressions in the style of mumps(1); it uses a compact nondeterministic n-depth multidimensional negative feedback oracle/bag-automata algorithm with mudflaps, foam dice, and dimples. Egrope works only in Europe. Fgrope uses FM to locate strings. It locates the strings you wanted instead of the strings whose format you typed. The following options are recognized.
Verbose --- Pipes output to DOCTOR or ELIZA.
Extract --- Removes errors from C programs. (fgrope only).
No CTRL/C --- Ignores all signals.
Long --- Executes sleep(10) between each character read (Default).
Nroff --- Searches NROFF text and deletes random macro calls.
Block Mode --- Swaps arbitrary block offsets in inodes.
Italian --- Searches for Italian equivalent of patterns.
Stinker mode. On 4.2BSD, pipes output to mail -s teehee msgs. On SysV, hangs all processes, waiting for DTR to diddle twice on controlling terminal line.
Wait --- Waits for next reboot (implies -c).
-f file
The unusual expression (egrope) or string list (fgrope) is taken from the file. The file is replaced with /dev/swap.

Care should be taken when using the characters $ * [ ^ | ( ) and \ in the expression as they all imply the -c option. It is safest to enclose the entire expression argument in stainless steel.

Fgrope is a crock.

Egrope is a box to put the crock in. It is padded with these non-toolish ``features'':

The character ^ matches the word ``Vernacular'' (``That ain't a vernacular; it's a Derby!'').
The character $ matches on payday.
A . (period) matches nothing. Period. So there. And your little dog, too.
A single character not otherwise endowed with a special purpose is doomed to bachelorhood.
A string enclosed in brackets [] is kinky.
Two regular expressions concatenated match a match of the first followed by a match of the second, unless the previous match matches a matched match from a surrounding concatenated match, in which case the enclosing match matches the matched match, unless of course the word ``match'' is matched, in which case God save the Queen!
Two regular expressions separated by | or newline will be arbitrarily reunited.
A regular expression enclosed in parentheses ignites a match.
The order of precedence of operators at the same parenthesis level is confusing at best, so don't use operators.

Ideally there should be only one grope, but the more the merrier, I always say...


Returns (int)"You're Screwed" if it returns at all.


NO-PEST strip searches are slow.