Nushell
Get Nu!
Getting Started
  • The Nushell Book
  • Command Reference
  • Cookbook
  • Language Reference Guide
  • Contributing Guide
Blog
  • English
  • 中文
  • Deutsch
  • Français
  • Español
  • 日本語
  • Português do Brasil
  • Русский язык
GitHub
Get Nu!
Getting Started
  • The Nushell Book
  • Command Reference
  • Cookbook
  • Language Reference Guide
  • Contributing Guide
Blog
  • English
  • 中文
  • Deutsch
  • Français
  • Español
  • 日本語
  • Português do Brasil
  • Русский язык
GitHub
  • Categories

    • Bits
    • Bytes
    • Chart
    • Conversions
    • Core
    • Database
    • Dataframe
    • Dataframe Or Lazyframe
    • Date
    • Debug
    • Default
    • Env
    • Experimental
    • Expression
    • Filesystem
    • Filters
    • Formats
    • Generators
    • Hash
    • History
    • Lazyframe
    • Math
    • Misc
    • Network
    • Path
    • Platform
    • Plugin
    • Prompt
    • Random
    • Removed
    • Shells
    • Strings
    • System
    • Viewers

describe for core

Describe the type and structure of the value(s) piped in.

Signature

> describe {flags}

Flags

  • --no-collect, -n: do not collect streams of structured data
  • --detailed, -d: show detailed information about the value

Input/output types:

inputoutput
anyany

Examples

Describe the type of a string

> 'hello' | describe
string

Describe the type of a record in a detailed way

> {shell:'true', uwu:true, features: {bugs:false, multiplatform:true, speed: 10}, fib: [1 1 2 3 5 8], on_save: {|x| $'Saving ($x)'}, first_commit: 2019-05-10, my_duration: (4min + 20sec)} | describe -d
╭───────────────┬─────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ type          │ record                                                                                              │
│ detailed_type │ record<shell: string, uwu: bool, features: record<bugs: bool, multiplatform: bool, speed: int>,     │
│               │ fib: list<int>, on_save: closure, first_commit: datetime, my_duration: duration>                    │
│               │ ╭──────────────┬──────────────────────────────────────────────────────────────────────────────────╮ │
│ columns       │ │              │ ╭───────────────┬────────────────────────╮                                       │ │
│               │ │ shell        │ │ type          │ string                 │                                       │ │
│               │ │              │ │ detailed_type │ string                 │                                       │ │
│               │ │              │ │ rust_type     │ &alloc::string::String │                                       │ │
│               │ │              │ │ value         │ true                   │                                       │ │
│               │ │              │ ╰───────────────┴────────────────────────╯                                       │ │
│               │ │              │ ╭───────────────┬──────╮                                                         │ │
│               │ │ uwu          │ │ type          │ bool │                                                         │ │
│               │ │              │ │ detailed_type │ bool │                                                         │ │
│               │ │              │ │ rust_type     │ bool │                                                         │ │
│               │ │              │ │ value         │ true │                                                         │ │
│               │ │              │ ╰───────────────┴──────╯                                                         │ │
│               │ │              │ ╭───────────────┬──────────────────────────────────────────────────────────────╮ │ │
│               │ │ features     │ │ type          │ record                                                       │ │ │
│               │ │              │ │ detailed_type │ record<bugs: bool, multiplatform: bool, speed: int>          │ │ │
│               │ │              │ │               │ ╭───────────────┬───────────────────────────╮                │ │ │
│               │ │              │ │ columns       │ │               │ ╭───────────────┬───────╮ │                │ │ │
│               │ │              │ │               │ │ bugs          │ │ type          │ bool  │ │                │ │ │
│               │ │              │ │               │ │               │ │ detailed_type │ bool  │ │                │ │ │
│               │ │              │ │               │ │               │ │ rust_type     │ bool  │ │                │ │ │
│               │ │              │ │               │ │               │ │ value         │ false │ │                │ │ │
│               │ │              │ │               │ │               │ ╰───────────────┴───────╯ │                │ │ │
│               │ │              │ │               │ │               │ ╭───────────────┬──────╮  │                │ │ │
│               │ │              │ │               │ │ multiplatform │ │ type          │ bool │  │                │ │ │
│               │ │              │ │               │ │               │ │ detailed_type │ bool │  │                │ │ │
│               │ │              │ │               │ │               │ │ rust_type     │ bool │  │                │ │ │
│               │ │              │ │               │ │               │ │ value         │ true │  │                │ │ │
│               │ │              │ │               │ │               │ ╰───────────────┴──────╯  │                │ │ │
│               │ │              │ │               │ │               │ ╭───────────────┬─────╮   │                │ │ │
│               │ │              │ │               │ │ speed         │ │ type          │ int │   │                │ │ │
│               │ │              │ │               │ │               │ │ detailed_type │ int │   │                │ │ │
│               │ │              │ │               │ │               │ │ rust_type     │ i64 │   │                │ │ │
│               │ │              │ │               │ │               │ │ value         │ 10  │   │                │ │ │
│               │ │              │ │               │ │               │ ╰───────────────┴─────╯   │                │ │ │
│               │ │              │ │               │ ╰───────────────┴───────────────────────────╯                │ │ │
│               │ │              │ │ rust_type     │ &nu_utils::shared_cow::SharedCow<nu_protocol::value::record: │ │ │
│               │ │              │ │               │ :Record>                                                     │ │ │
│               │ │              │ ╰───────────────┴──────────────────────────────────────────────────────────────╯ │ │
│               │ │              │ ╭─────────────────────┬────────────────────────────────────────────────────────╮ │ │
│               │ │ fib          │ │ type                │ list                                                   │ │ │
│               │ │              │ │ detailed_type       │ list<int>                                              │ │ │
│               │ │              │ │ length              │ 6                                                      │ │ │
│               │ │              │ │ rust_type           │ &mut alloc::vec::Vec<nu_protocol::value::Value>        │ │ │
│               │ │              │ │                     │ ╭───┬──────┬───────────────┬───────────┬───────╮       │ │ │
│               │ │              │ │ value               │ │ # │ type │ detailed_type │ rust_type │ value │       │ │ │
│               │ │              │ │                     │ ├───┼──────┼───────────────┼───────────┼───────┤       │ │ │
│               │ │              │ │                     │ │ 0 │ int  │ int           │ i64       │     1 │       │ │ │
│               │ │              │ │                     │ │ 1 │ int  │ int           │ i64       │     1 │       │ │ │
│               │ │              │ │                     │ │ 2 │ int  │ int           │ i64       │     2 │       │ │ │
│               │ │              │ │                     │ │ 3 │ int  │ int           │ i64       │     3 │       │ │ │
│               │ │              │ │                     │ │ 4 │ int  │ int           │ i64       │     5 │       │ │ │
│               │ │              │ │                     │ │ 5 │ int  │ int           │ i64       │     8 │       │ │ │
│               │ │              │ │                     │ ╰───┴──────┴───────────────┴───────────┴───────╯       │ │ │
│               │ │              │ ╰─────────────────────┴────────────────────────────────────────────────────────╯ │ │
│               │ │              │ ╭─────────────────┬────────────────────────────────────────────────────────────╮ │ │
│               │ │ on_save      │ │ type            │ closure                                                    │ │ │
│               │ │              │ │ detailed_type   │ closure                                                    │ │ │
│               │ │              │ │ rust_type       │ &alloc::boxed::Box<nu_protocol::engine::closure::Closure>  │ │ │
│               │ │              │ │ value           │ closure_1                                                  │ │ │
│               │ │              │ │                 │ ╭──────────┬─────────╮                                     │ │ │
│               │ │              │ │ signature       │ │ name     │         │                                     │ │ │
│               │ │              │ │                 │ │ category │ default │                                     │ │ │
│               │ │              │ │                 │ ╰──────────┴─────────╯                                     │ │ │
│               │ │              │ ╰─────────────────┴────────────────────────────────────────────────────────────╯ │ │
│               │ │              │ ╭───────────────┬──────────────────────────────────────────────────────────────╮ │ │
│               │ │ first_commit │ │ type          │ datetime                                                     │ │ │
│               │ │              │ │ detailed_type │ datetime                                                     │ │ │
│               │ │              │ │ rust_type     │ chrono::datetime::DateTime<chrono::offset::fixed::FixedOffse │ │ │
│               │ │              │ │               │ t>                                                           │ │ │
│               │ │              │ │ value         │ 6 years ago                                                  │ │ │
│               │ │              │ ╰───────────────┴──────────────────────────────────────────────────────────────╯ │ │
│               │ │              │ ╭───────────────┬────────────╮                                                   │ │
│               │ │ my_duration  │ │ type          │ duration   │                                                   │ │
│               │ │              │ │ detailed_type │ duration   │                                                   │ │
│               │ │              │ │ rust_type     │ i64        │                                                   │ │
│               │ │              │ │ value         │ 4min 20sec │                                                   │ │
│               │ │              │ ╰───────────────┴────────────╯                                                   │ │
│               │ ╰──────────────┴──────────────────────────────────────────────────────────────────────────────────╯ │
│ rust_type     │ &nu_utils::shared_cow::SharedCow<nu_protocol::value::record::Record>                                │
╰───────────────┴─────────────────────────────────────────────────────────────────────────────────────────────────────╯

Describe the type of a stream with detailed information

> [1 2 3] | each {|i| echo $i} | describe -d

Describe a stream of data, collecting it first

> [1 2 3] | each {|i| echo $i} | describe

Describe the input but do not collect streams

> [1 2 3] | each {|i| echo $i} | describe --no-collect