runiq is a command-line utility for removing duplicate lines from textual input. It offers several methods for identifying repeated records, allowing users to choose between performance, memory consumption and matching accuracy.
The program was developed as an optimisation of neek, with an emphasis on handling large amounts of input efficiently. Unlike utilities that rely on sorting, runiq can process unsorted data while retaining the first occurrence of each distinct line.
Different filtering strategies make it suitable for applications ranging from ordinary text processing to analysing large datasets where memory consumption is particularly important.
runiq can also be used as a library in other applications.
This is free and open source software.
Key Features
- Four filtering strategies: quick, simple, sorted and compact.
- Quick filtering stores precomputed hashes to reduce memory consumption while maintaining high throughput.
- Simple filtering uses a set to track previously encountered values, providing accurate duplicate detection.
- Sorted filtering detects consecutive duplicates with minimal memory overhead, similar to traditional uniq.
- Compact filtering uses a scalable Bloom filter to reduce memory requirements at the cost of possible false positives.
- Processes textual input without requiring a separate sorting operation when using the appropriate filter.
- Supports command-line operation and integration as a software library.
Website: github.com/whitfin/runiq
Support:
Developer: Isaac Whitfield
License: MIT License

| Explore Linux | |
|---|---|
| Best Free and Open Source Software - A huge collection of recommended free and open source software covering every major category. | |
| In-depth Linux Software Reviews - Detailed assessments of Linux software covering features, usability and overall quality. | |
| The Big List of Active Linux Distros - An extensive collection of actively developed Linux distributions. | |
| Open Source Alternatives - Alternatives to software and services from Google, Microsoft, Apple, Adobe, IBM, Autodesk, Oracle and others. | |
| Essential Linux System Tools - Indispensable utilities for monitoring, maintaining and managing Linux systems. | |
| Linux Productivity Tools - Useful utilities for improving productivity and streamlining everyday tasks. | |
| Alternatives to Popular CLI Tools - Modern alternatives to familiar command-line utilities supplied with Linux systems. | |
| Awesome Free Linux Game Tools - Tools, utilities and companion software that improve gaming on Linux. | |
| Machine Learning on Linux - Machine learning and deep learning software, self-hosted applications and practical tools. | |
| Saving Money with Linux - Practical ways to reduce electricity consumption and lower computing costs with Linux. | |
| Linux Candy - Fun, entertaining and sometimes delightfully quirky software from the lighter side of Linux. | |

Please read our Comment Policy before commenting.