63 lines
3.2 KiB
Markdown
63 lines
3.2 KiB
Markdown
[](https://github.com/grasmash/yaml-cli/actions/workflows/php.yml) [](https://packagist.org/packages/grasmash/yaml-cli) [](https://packagist.org/packages/grasmash/yaml-cli) [](https://coveralls.io/github/grasmash/yaml-cli?branch=master)
|
|
|
|
Yet another command line tool for reading and manipulating yaml files, built on
|
|
the [Symfony console component](http://symfony.com/doc/current/components/console.html).
|
|
|
|
### Commands:
|
|
|
|
| Command | Description |
|
|
|--------------| ----------------------------------------------------|
|
|
| get:value | Get a value for a specific key in a YAML file. |
|
|
| get:type | Get the data type of a value in a YAML file. |
|
|
| lint | Validates that a given YAML file has valid syntax. |
|
|
| unset:key | Unset a specific key in a YAML file. |
|
|
| update:key | Change a specific key in a YAML file. |
|
|
| update:value | Update the value for a specific key in a YAML file. |
|
|
|
|
### Installation
|
|
|
|
composer require grasmash/yaml-cli
|
|
|
|
### Example usage:
|
|
|
|
./vendor/bin/yaml-cli get:value somefile.yml some-key
|
|
./vendor/bin/yaml-cli get:type somefile.yml some-key
|
|
./vendor/bin/yaml-cli lint somefile.yml
|
|
./vendor/bin/yaml-cli unset:value somefile.yml some-key
|
|
./vendor/bin/yaml-cli update:key somefile.yml old-key new-key
|
|
./vendor/bin/yaml-cli update:value somefile.yml some-key some-value
|
|
|
|
# Cast to boolean.
|
|
./vendor/bin/yaml-cli update:value somefile.yml some-key false
|
|
./vendor/bin/yaml-cli update:value somefile.yml some-key true
|
|
./vendor/bin/yaml-cli update:value somefile.yml some-key 0 --type=boolean
|
|
./vendor/bin/yaml-cli update:value somefile.yml some-key 0 --type=bool
|
|
|
|
# Cast to null.
|
|
./vendor/bin/yaml-cli update:value somefile.yml some-key null
|
|
./vendor/bin/yaml-cli update:value somefile.yml some-key ~ --type=null
|
|
|
|
# Cast to integer.
|
|
./vendor/bin/yaml-cli update:value somefile.yml some-key 1 --type=integer
|
|
./vendor/bin/yaml-cli update:value somefile.yml some-key 1 --type=int
|
|
|
|
# Cast to float/double/real.
|
|
./vendor/bin/yaml-cli update:value somefile.yml some-key 1.0 --type=float
|
|
./vendor/bin/yaml-cli update:value somefile.yml some-key 1.0 --type=double
|
|
./vendor/bin/yaml-cli update:value somefile.yml some-key 1.0 --type=real
|
|
|
|
# Forcibly cast to string for values that would otherwise be boolean or null.
|
|
./vendor/bin/yaml-cli update:value somefile.yml some-key true --type=string
|
|
./vendor/bin/yaml-cli update:value somefile.yml some-key false --type=string
|
|
./vendor/bin/yaml-cli update:value somefile.yml some-key null --type=string
|
|
|
|
### Similar tools:
|
|
|
|
- Javascript - https://github.com/pandastrike/yaml-cli
|
|
- Ruby - https://github.com/rubyworks/yaml_command
|
|
- Python - https://github.com/0k/shyaml
|
|
|
|
### Recognition
|
|
|
|
This project was inspired by the yaml commands in [Drupal Console](https://drupalconsole.com/).
|