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

80 lines
4.4 KiB
Markdown

---
obj: application
repo: https://github.com/ys-l/csvlens
rev: 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.