A terminal log file viewer that merges, follows, and searches multiple log files with SQL and regex support.
noborus/ov
A feature-rich terminal pager for viewing text, with column mode, follow mode, exec mode and incremental search.
Open-source alternative to:less
- Stars
- 2,045
- Forks
- 53
- Open issues
- 28
- Last commit
- 10 hours ago
What is it?
ov is a terminal pager, a tool for reading text files and command output one screen at a time, similar in role to less or more. It is aimed at viewing tabular text such as CSV files and output from commands like ps or df, with column highlighting, fixed header rows and columns, and column-width detection for irregularly spaced output.
Beyond basic paging, ov can follow files as they grow in the manner of tail -f or tail -F, re-run a command periodically in watch mode, or display a command's output directly in exec mode. It supports regular expression search, filtering lines into a new document, multi-color highlighting of several words, marks, and sections split by a regex delimiter. Files larger than memory can be opened, and gzip, bzip2, zstd, lz4 and xz compressed files are handled.
Key bindings, styles and sidebar behavior are configurable through a YAML file, and a less-compatible key set can be generated. Installation is available through common package managers on Linux, macOS, Windows and FreeBSD, as well as through go install.
Key features
- 01Opens files larger than memory and handles gzip, bzip2, zstd, lz4 and xz compressed files.
- 02Column mode with delimiter or regex-based splitting, plus automatic column detection for command output.
- 03Follow mode, follow-name mode and exec mode for live logs and command output.
- 04Incremental, regex and filter search, with multi-color highlighting of multiple words.
- 05Sidebar for help, marks, documents and sections, with configurable keys and styles.
Use cases
- Reading large CSV or TSV files in the terminal with aligned, highlighted columns.
- Watching live log files, similar to tail -f, while searching and marking positions.
- Browsing output of ps, df or other commands with irregular spacing.
- Using as the PAGER for git diff, log or other tools that produce sectioned output.
Quick start
- 1
Install via Homebrew (macOS or Linux)
brew install ov - 2
Run ov on a file
ov filename - 3
Or pipe standard input into ov
cat filename|ov
Things to know
- Does not support syntax highlighting for file types.
In collections
Topics
FAQ
- What is ov?
- A feature-rich terminal pager for viewing text, with column mode, follow mode, exec mode and incremental search. ov is a terminal pager, a tool for reading text files and command output one screen at a time, similar in role to less or more. It is aimed at viewing tabular text such as CSV files and output from commands like ps or df, with column highlighting, fixed header rows and columns, and column-width detection for irregularly spaced output.
- Is ov free to use? What license does it have?
- ov is open source under the MIT license. Check the license terms before using it in commercial products.
- Is ov still maintained?
- Actively maintained. The last commit to ov was on Oct 22, 2026.
- What can I use ov for?
- Reading large CSV or TSV files in the terminal with aligned, highlighted columns. Watching live log files, similar to tail -f, while searching and marking positions. Browsing output of ps, df or other commands with irregular spacing. Using as the PAGER for git diff, log or other tools that produce sectioned output.
- How do I install ov?
- Install via Homebrew (macOS or Linux): brew install ov Run ov on a file: ov filename Or pipe standard input into ov: cat filename|ov
- Where can I get ov?
- The source code and installation instructions are on GitHub: https://github.com/noborus/ov
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A command-line log viewer that turns JSON and logfmt logs into human-readable output, with filtering, sorting and live follow mode.
A small Rust CLI that prints CSV, TSV, JSON and SQLite data as stylish, auto-laid-out tables in your terminal.
A terminal JSON viewer and processor that lets you browse, fold and transform JSON interactively in the shell.
A Rust command-line log file highlighter (binary tspin) that colorizes dates, numbers, IPs, UUIDs, URLs and keywords in any log format.
React renderer for building interactive command-line apps with components and Flexbox layouts in the terminal.