Dasel: Difference between revisions

From wikinotes
No edit summary
Line 21: Line 21:
     '.category.three'  '3'
     '.category.three'  '3'


# modify 'foo.yml', preserving comments
# print 'foo.yml',  
#  with obj['category']['three'] = "3" added,
#  while also preserving comments
#
# see: https://stackoverflow.com/questions/14282617/hunk-1-failed-at-1-whats-that-mean
# see: https://stackoverflow.com/questions/14282617/hunk-1-failed-at-1-whats-that-mean
diff \
diff \

Revision as of 15:47, 29 August 2021

Inspired by jq and yq, but operates on json, yaml, toml, xml, csv.
Totally standalone, no runtime dependencies.

Documentation

official docs https://daseldocs.tomwright.me/
github https://github.com/TomWright/dasel

Examples

# modify 'foo.yml', adding obj['category']['three'] = "3"
dasel put string \
    -f foo.yml \
    '.category.three'  '3'

# print 'foo.yml', 
#   with obj['category']['three'] = "3" added,
#   while also preserving comments
#
# see: https://stackoverflow.com/questions/14282617/hunk-1-failed-at-1-whats-that-mean
diff \
    <(dasel -r yaml -f foo.yml) \
    <(dasel put string -r yaml -f foo.yml -o -) \
    | patch -o - foo.yml