path parse for default

Convert a path into structured data.

Signature

> path parse --columns --extension

Parameters

  • --columns {table}: For a record or table input, convert strings at the given columns
  • --extension {string}: Manually supply the extension (without the dot)

Notes

Each path is split into a table with 'parent', 'stem' and 'extension' fields. On Windows, an extra 'prefix' column is added.

Examples

Parse a path

> '/home/viking/spam.txt' | path parse
╭───────────┬──────────────╮
│ parent    │ /home/viking │
│ stem      │ spam         │
│ extension │ txt          │
╰───────────┴──────────────╯

Replace a complex extension

> '/home/viking/spam.tar.gz' | path parse -e tar.gz | upsert extension { 'txt' }

Ignore the extension

> '/etc/conf.d' | path parse -e ''
╭───────────┬────────╮
│ parent    │ /etc   │
│ stem      │ conf.d │
│ extension │        │
╰───────────┴────────╯

Parse all paths under the 'name' column

> ls | path parse -c [ name ]