Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/grasmash/yaml-cli
A command line tool for reading and manipulating yaml files.
https://github.com/grasmash/yaml-cli
cli yaml yml
Last synced: 5 days ago
JSON representation
A command line tool for reading and manipulating yaml files.
- Host: GitHub
- URL: https://github.com/grasmash/yaml-cli
- Owner: grasmash
- License: mit
- Created: 2017-01-03T17:42:21.000Z (almost 8 years ago)
- Default Branch: 3.x
- Last Pushed: 2024-04-29T16:52:10.000Z (8 months ago)
- Last Synced: 2024-12-16T18:54:15.096Z (14 days ago)
- Topics: cli, yaml, yml
- Language: PHP
- Size: 232 KB
- Stars: 22
- Watchers: 3
- Forks: 13
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
[![CI](https://github.com/grasmash/yaml-cli/actions/workflows/php.yml/badge.svg)](https://github.com/grasmash/yaml-cli/actions/workflows/php.yml) [![Packagist](https://img.shields.io/packagist/v/grasmash/yaml-cli.svg)](https://packagist.org/packages/grasmash/yaml-cli) [![Total Downloads](https://poser.pugx.org/grasmash/yaml-cli/downloads)](https://packagist.org/packages/grasmash/yaml-cli) [![Coverage Status](https://coveralls.io/repos/github/grasmash/yaml-cli/badge.svg?branch=master)](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/).