---
name: "grope"
section: "1fun"
platform: "linux"
package: "funny-manpages"
version: "1.3-5"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/grope/1fun"
---

# grope(1fun)

massage a file for a while

## NAME

grope, egrope, fgrope - massage a file for a while

## SYNOPSIS

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

## DESCRIPTION

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.

- **-v**

  Verbose — Pipes output to DOCTOR or ELIZA.

- **-x**

  Extract — Removes errors from C programs. (*fgrope* only).

- **-c**

  No CTRL/C — Ignores all signals.

- **-l**

  Long — Executes sleep(10) between each character read (Default).

- **-n**

  Nroff — Searches NROFF text and deletes random macro calls.

- **-b**

  Block Mode — Swaps arbitrary block offsets in inodes.

- **-i**

  Italian — Searches for Italian equivalent of patterns.

- **-s**

  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.

- **-w**

  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...

## SEE ALSO

*Raiders*(1), *StarWars*(1), *Plan9*(0l), *Boy+Dog*(1)

## DIAGNOSTICS

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

## BUGS

NO-PEST strip searches are slow.
