pmonks.multigrep

https://github.com/pmonks/multigrep.git

git clone 'https://github.com/pmonks/multigrep.git'

(ql:quickload :pmonks.multigrep)
5

Build Status Open Issues License Dependencies Status

multigrep

A little Clojure library that provides regex-based file grepping and/or text substitution.

Installation

multigrep is available as a Maven artifact from Clojars. The latest version is:

version

Trying it Out

If you prefer to kick the library's tyres without creating a project, you can use the lein try plugin:

$ lein try clj-commons/multigrep

or (as of v0.4.0), if you have installed the Clojure CLI tools:

$ clj -Sdeps '{:deps {clj-commons/multigrep {:mvn/version "#.#.#"}}}'  # Where #.#.# is replaced with an actual version number >= 0.4.0

Either way, you will be dropped in a REPL with the library downloaded and ready for use.

Usage

The multigrep functionality is provided by the multigrep.core namespace.

Require it in the REPL:

(require '[multigrep.core :as mg])

Require it in your application:

(ns my-app.core
  (:require [multigrep.core :as mg]))

The library provides two functions - grep (for searching for text within files) and (since v0.3.0) greplace! (for searching and replacing text within files). The API documentation has full details, and the unit tests have comprehensive examples.

The cljdoc project also publishes up-to-date documentation for this project.

Tested Versions

multigrep is tested on:

| | JVM v1.6 | JVM v1.7 | JVM v1.8 | JVM v9 | JVM v10 | JVM v11 | | —: | :—: | :—: | :—: | :—: | :—: | :—: | | Clojure 1.4.0 | ❌1,2 | ❌1 | ❌1 | ❌1 | ❌1 | ❌1 | | Clojure 1.5.1 | ❌2 | ✅ | ✅ | ✅ | ✅ | ✅ | | Clojure 1.6.0 | ❌2 | ✅ | ✅ | ✅ | ✅ | ✅ | | Clojure 1.7.0 | ❌2 | ✅ | ✅ | ✅ | ✅ | ✅ | | Clojure 1.8.0 | ❌2 | ✅ | ✅ | ✅ | ✅ | ✅ | | Clojure 1.9.0 | ❌2 | ✅ | ✅ | ✅ | ✅ | ✅ | | Clojure 1.10.0 | ❌2,3 | ❌3 | ✅ | ✅ | ✅ | ✅ |

1 I chose to only go back as far as Clojure v1.5.1. If anyone needs this on older versions, PRs are welcome!

2 Leiningen v2.8 only supports JVM v1.7 and up

3 Clojure v1.10 only supports JVM v1.8 and up

Contributors

Erik Assum - edumucated me in the use of partial.

Developer Information

GitHub project

Bug Tracker

License

Copyright © 2014 Peter Monks (pmonks@gmail.com)

Distributed under the Eclipse Public License either version 2.0 or (at your option) any later version.