iGrep app for iPhone and iPad


4.7 ( 6617 ratings )
Utilities Productivity
Developer: Arseny Barkovskiy
0.99 USD
Current version: 1.0, last update: 7 years ago
First release : 12 Aug 2015
App size: 2.62 Mb

iGrep is an app that brings Unix/Linux ‘grep’ command features that are meaningful in an iOS environment.

Any large text document can be quickly searched and summarised: emails, logs, articles, spreadsheets, webpages, XML, HTML, etc.

grep is a command-line utility for searching plain-text data sets for lines matching a regular expression. It was released for Unix operating system in November 1974, over 40 years ago, and its successors are still used by millions today.

iGrep simplifies consecutive searches by imitating grep pipe functionality. It means you can search within results again and again, drilling down into your data until you have exactly what you need.

- Outputs lines featuring matches
- Option to include lines above and/or below the matching line
- Option to generate a list of matches only
- Regular Expression support
- Case sensitivity toggle

The key appeal of Unix grep is speed. iGrep is built using Apple frameworks in Swift – Apple’s new development language. Extensive performance profiling led to older ‘Objective C’ structures being used where they were found to be faster. App implements multi-threading allowing user interaction - scrolling text or changing options - while search is ongoing.

So how fast is it?

Example: a 5mb uncompressed Unicode text file, numbering 35,586 lines - from an open data.gov.uk dataset.

Each line looks like this:

G9336359 YTDB C Y54 Q75 204 STANLEY ROAD BOOTLE MERSEYSIDE L20 3EW 20130601 A O N84015 20130601 0151 9337447

A simple single word search through this dataset took iGrep 12 seconds on an iPhone 6.

A more complex Regular Expression search could take a lot longer - but it is a pretty incredible capability to have on handheld device.

A more realistic use scenario of searching 5,000 lines of text takes 3 seconds.

Each follow-on search is quicker, as it looks through a smaller amount of text.