## Grep File

`beta.retrieval.grep(RetrievalGrepParams**kwargs)  -> SyncPaginatedCursorPost[RetrievalGrepResponse]`

**post** `/api/v1/retrieval/files/grep`

Grep within a file's parsed content using a regex pattern.

### Parameters

- `file_id: str`

  ID of the file to grep.

- `index_id: str`

  ID of the index the file belongs to.

- `pattern: str`

  Regex pattern to search for.

- `organization_id: Optional[str]`

- `project_id: Optional[str]`

- `context_chars: Optional[int]`

  Number of characters of context to include before and after the matched pattern in the content field of the response

- `page_size: Optional[int]`

  The maximum number of items to return. The service may return fewer than this value. If unspecified, a default page size will be used. The maximum value is typically 1000; values above this will be coerced to the maximum.

- `page_token: Optional[str]`

  A page token, received from a previous list call. Provide this to retrieve the subsequent page.

### Returns

- `class RetrievalGrepResponse: …`

  A single grep match within a file.

  - `content: str`

    Matched text content.

  - `end_char: int`

    End character offset of the match.

  - `start_char: int`

    Start character offset of the match.

### Example

```python
import os
from llama_cloud import LlamaCloud

client = LlamaCloud(
    api_key=os.environ.get("LLAMA_CLOUD_API_KEY"),  # This is the default and can be omitted
)
page = client.beta.retrieval.grep(
    file_id="file_id",
    index_id="idx-abc123",
    pattern="revenue|profit",
)
page = page.items[0]
print(page.content)
```

#### Response

```json
{
  "items": [
    {
      "content": "content",
      "end_char": 0,
      "start_char": 0
    }
  ],
  "next_page_token": "next_page_token",
  "total_size": 0
}
```
