cut
Select specific fields, characters, or bytes from each line. Extract columns from delimited data without side effects.
Instructions
Select specific fields, characters, or bytes from each input line. Read-only, no side effects. Returns JSON with the extracted columns by default; use --raw for plain text. Use to extract columns from tabular or delimited data. Not for replacing characters — use 'tr' for translation/deletion. Not for merging columns — use 'paste'. See also 'paste', 'tr'.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| raw | No | Write plain transformed text to stdout. | |
| bytes | No | 1-based byte ranges like '1,3-5'. | |
| chars | No | 1-based character ranges like '1,3-5'. | |
| paths | No | Files to read, or '-' for stdin. Defaults to stdin. | |
| fields | No | 1-based field ranges like '1,3-5'. | |
| encoding | No | Text encoding (default: utf-8). Use 'auto' for BOM/autodetection. | utf-8 |
| delimiter | No | Field delimiter. | |
| max_lines | No | Maximum JSON lines to emit. | |
| show_encoding | No | Include encoding detection metadata in JSON result. | |
| encoding_errors | No | How to handle encoding errors (default: replace). | replace |
| encoding_profile | No | Locale-aware encoding fallback profile for auto-detection. | |
| output_delimiter | No | Delimiter for selected fields. |