knowledge/technology/applications/cli/csvlens.md
2025-01-31 20:10:15 +01:00

4.4 KiB

obj repo rev
application https://github.com/ys-l/csvlens 2025-01-31

csvlens

csvlens is a command line CSV file viewer. It is like less but made
for CSV.

Usage

Run csvlens by providing the CSV filename:

csvlens <filename>

Pipe CSV data directly to csvlens:

<your commands producing some csv data> | csvlens

Key bindings

Key Action
hjkl (or ← ↓ ↑→ ) Scroll one row or column in the given direction
Ctrl + f (or Page Down) Scroll one window down
Ctrl + b (or Page Up) Scroll one window up
Ctrl + d (or d) Scroll half a window down
Ctrl + u (or u) Scroll half a window up
Ctrl + h Scroll one window left
Ctrl + l Scroll one window right
Ctrl + ← Scroll left to first column
Ctrl + → Scroll right to last column
G (or End) Go to bottom
g (or Home) Go to top
<n>G Go to line n
/<regex> Find content matching regex and highlight matches
n (in Find mode) Jump to next result
N (in Find mode) Jump to previous result
&<regex> Filter rows using regex (show only matches)
*<regex> Filter columns using regex (show only matches)
TAB Toggle between row, column or cell selection modes
> Increase selected column's width
< Decrease selected column's width
Shift + ↓ (or Shift + j) Sort rows or toggle sort direction by the selected column
# (in Cell mode) Find and highlight rows like the selected cell
@ (in Cell mode) Filter rows like the selected cell
y Copy the selected row or cell to clipboard
Enter (in Cell mode) Print the selected cell to stdout and exit
-S Toggle line wrapping
-W Toggle line wrapping by words
r Reset to default view (clear all filters and custom column widths)
H (or ?) Display help
q Exit

Optional parameters

  • -d <char>: Use this delimiter when parsing the CSV
    (e.g. csvlens file.csv -d '\t').

    Specify -d auto to auto-detect the delimiter.

  • -t, --tab-separated: Use tab as the delimiter (when specified, -d is ignored).

  • -i, --ignore-case: Ignore case when searching. This flag is ignored if any
    uppercase letters are present in the search string.

  • --no-headers: Do not interpret the first row as headers.

  • --columns <regex>: Use this regex to select columns to display by default.

  • --filter <regex>: Use this regex to filter rows to display by default.

  • --find <regex>: Use this regex to find and highlight matches by default.

  • --echo-column <column_name>: Print the value of this column at the selected
    row to stdout on Enter key and then exit.