cut
Select specific fields, characters, or bytes from each line of text. Extract columns from delimited data using field, byte, or character ranges, with results returned as JSON or plain text.
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 |
|---|---|---|---|
| bytes | No | 1-based byte ranges like '1,3-5'. | |
| chars | No | 1-based character ranges like '1,3-5'. | |
| delimiter | No | Field delimiter. | |
| encoding | No | Text encoding. | utf-8 |
| fields | No | 1-based field ranges like '1,3-5'. | |
| max_lines | No | Maximum JSON lines to emit. | |
| output_delimiter | No | Delimiter for selected fields. | |
| paths | No | Files to read, or '-' for stdin. Defaults to stdin. | |
| raw | No | Write plain transformed text to stdout. |