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

path dirname for path

Get the parent directory of a path.

Signature

> path dirname {flags}

Flags

  • --replace, -r {string}: Return original path with dirname replaced by this string
  • --num-levels, -n {int}: Number of directories to walk up

Input/output types:

inputoutput
stringstring
list<string>list<string>

Examples

Get dirname of a path

> '/home/joe/code/test.txt' | path dirname
/home/joe/code

Get dirname of a list of paths

> [ /home/joe/test.txt, /home/doe/test.txt ] | path dirname
╭───┬───────────╮
│ 0 │ /home/joe │
│ 1 │ /home/doe │
╰───┴───────────╯

Walk up two levels

> '/home/joe/code/test.txt' | path dirname --num-levels 2
/home/joe

Replace the part that would be returned with a custom path

> '/home/joe/code/test.txt' | path dirname --num-levels 2 --replace /home/viking
/home/viking/code/test.txt