📄
Dasel
v1
v1
  • Introduction
  • Installation
    • Update
  • Use as a go package
  • Github
  • Playground
  • Usage
    • Select
    • Put
    • Put object
    • Put document
    • Delete
    • Validate
    • Flags
      • Escape HTML
      • Format
      • Multiple
      • Null
      • Merge Input Documents
    • Supported file types
  • Selectors
    • Introduction
    • Property
    • Keys and indexes
    • Index
    • Next Available Index
    • All indexes
    • Dynamic
    • Search
    • Search Optional
    • Length
    • Type
  • Notes
    • File formatting and ordering
    • Memory usage
    • Converting between formats
  • Examples
    • JQ to Dasel
    • YQ to Dasel
    • XML
    • Filter JSON API results
Powered by GitBook
On this page
  • Description
  • Usage
  • Example
  • Put YAML document into JSON
Edit on GitHub
  1. Usage

Put document

PreviousPut objectNextDelete

Last updated 2 years ago

Description

This command allows you to modify data at a given selector.

It generally works in the same way as , but allows you to write entire documents with a single command.

Note that put document will completely overwrite any existing data at the given selector.

Usage

dasel put document -f <file> -d <document-parser> <selector> <document>
Flag
Description

<document>

The document you want to put, as a marshaled/encoded string.

This is required.

--value-file Since v1.27.0

A path to a file containing the document. If present, the contents of the file takes precedence over <document>.

-d, <document-parser>

Specify the parser to use when reading the document value.

If no value is provided, the read parser is used.

-f, --file

Specify the file to query. This is required unless you are piping in data.

If piping in data you can optionally pass -f stdin/-f -.

-o, --out

Specify the output file. If present, results will be written to the given file. If not present, results will be written to the input file (or stdout if none given).

To force output to be written to stdout, pass -o stdoutor-o -.

-r, --read

Specify the parser to use when reading the input data.

This is required if you are piping in data, otherwise dasel will use the given file extension to guess which parser to use.

-w, --write

Specify the parser to use when writing the output data.

If not provided dasel will attempt to use the --out and --read flags to determine which parser to use.

-p, --parser

Shorthand for -r <value> -w <value>

-m, --multiple

Tells dasel to put multiple items.

-s, --selector, <selector>

If no selector flag is given, dasel assumes the first argument given is the selector.

This is required.

-c, --compact

This tells dasel to output compact data where possible. E.g. not pretty printing JSON.

--merge-input-documents

--escape-html

Example

Put YAML document into JSON

$ echo '{"people":[]}' | dasel put document -p json -d yaml '.people.[]' 'name: Tom
colours:
- red
- green
- blue'
{
  "people": [
    {
      "colours": ["red", "green", "blue"],
      "name": "Tom"
    }
  ]
}

See .

See .

See .

See .

Specify the selector to use. See for more information.

See .

See .

put
supported file types
supported file types
supported file types
multiple
selectors
merge input documents
escape html