setop: Perform set operations on files.

[ library, mit, program, tools ] [ Propose Tags ] [ Report a vulnerability ]

Find more information on the project homepage.


[Skip to Readme]

Modules

[Index]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0, 0.1.0.1
Change log CHANGELOG.md
Dependencies base (>=4 && <5), containers, optparse-applicative, protolude, setop, text [details]
Tested with ghc >=0
License MIT
Copyright (c) 2017 Médéric Hurier
Author Médéric Hurier <fmind@users.noreply.github.com>
Maintainer Médéric Hurier <fmind@users.noreply.github.com>
Category Tools
Home page https://github.com/fmind/setop
Bug tracker https://github.com/fmind/setop/issues
Source repo head: git clone https://github.com/fmind/setop
Uploaded by fmind at 2017-12-31T13:13:14Z
Distributions NixOS:0.1.0.1
Executables setop
Downloads 1317 total (14 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-12-31 [all 1 reports]

Readme for setop-0.1.0.1

[back to package description]

Setop: Perform set operations on files

build hackage hackage-deps license

Rationale

Set operations are a convenient solution to common problems:

  • create a list of tasks without duplicates (set union)
  • filter tasks done out of tasks to do (set difference)
  • find common elements in a database (set intersection)
  • and remove theses elements (set symmetric difference)

Setop helps you run these set operations on your files.

Usage

Let's introduce two line-separated files: A.txt and B.txt.

A.txt contains all numbers from 0 to 5 included

0
1
2
3
4
5

B.txt contains all even numbers from 0 to 8 included

0
2
4
6
8

Set Union (U/Union):

$ setop A.txt U B.txt
0
1
2
3
4
5
6
8

Set Difference (D/Diff):

$ setop A.txt D B.txt
1
3
5

Set Intersection (I/Inter):

$ setop A.txt I B.txt
0
2
4

Set Symmetric Difference (J/Disj):

$ setop A.txt J B.txt
1
3
5
6
8

Reading A.txt from STDIN:

$ cat A.txt | setop STDIN Diff B.txt
0
2
4

Reading B.txt from STDIN:

$ cat B.txt | setop A.txt Disj STDIN
1
3
5
6
8

Notes