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/).
							 |