From fc164ca9c31a112004c608b5425cbb0be27eb683 Mon Sep 17 00:00:00 2001 From: Mike Farah Date: Sat, 22 Nov 2025 15:04:39 +1100 Subject: [PATCH] Updating README with latest yq help --- README.md | 99 +++++++++++++++++++++++++-------------------- examples/data1.yaml | 4 +- 2 files changed, 57 insertions(+), 46 deletions(-) diff --git a/README.md b/README.md index 6ebf614f..3eed4af1 100644 --- a/README.md +++ b/README.md @@ -380,10 +380,18 @@ Usage: Examples: -# yq defaults to 'eval' command if no command is specified. See "yq eval --help" for more examples. -yq '.stuff' < myfile.yml # outputs the data at the "stuff" node from "myfile.yml" +# yq tries to auto-detect the file format based off the extension, and defaults to YAML if it's unknown (or piping through STDIN) +# Use the '-p/--input-format' flag to specify a format type. +cat file.xml | yq -p xml -yq -i '.stuff = "foo"' myfile.yml # update myfile.yml in place +# read the "stuff" node from "myfile.yml" +yq '.stuff' < myfile.yml + +# update myfile.yml in place +yq -i '.stuff = "foo"' myfile.yml + +# print contents of sample.json as idiomatic YAML +yq -P -oy sample.json Available Commands: @@ -393,46 +401,51 @@ Available Commands: help Help about any command Flags: - -C, --colors force print with colors - --csv-auto-parse parse CSV YAML/JSON values (default true) - --csv-separator char CSV Separator character (default ,) - -e, --exit-status set exit status if there are no matches or null or false is returned - --expression string forcibly set the expression argument. Useful when yq argument detection thinks your expression is a file. - --from-file string Load expression from specified file. - -f, --front-matter string (extract|process) first input as yaml front-matter. Extract will pull out the yaml content, process will run the expression against the yaml content, leaving the remaining data intact - --header-preprocess Slurp any header comments and separators before processing expression. (default true) - -h, --help help for yq - -I, --indent int sets indent level for output (default 2) - -i, --inplace update the file in place of first file given. - -p, --input-format string [auto|a|yaml|y|json|j|props|p|csv|c|tsv|t|xml|x|base64|uri|toml|lua|l|ini|i] parse format for input. (default "auto") - --lua-globals output keys as top-level global variables - --lua-prefix string prefix (default "return ") - --lua-suffix string suffix (default ";\n") - --lua-unquoted output unquoted string keys (e.g. {foo="bar"}) - -M, --no-colors force print with no colors - -N, --no-doc Don't print document separators (---) - -0, --nul-output Use NUL char to separate values. If unwrap scalar is also set, fail if unwrapped scalar contains NUL char. - -n, --null-input Don't read input, simply evaluate the expression given. Useful for creating docs from scratch. - -o, --output-format string [auto|a|yaml|y|json|j|props|p|csv|c|tsv|t|xml|x|base64|uri|toml|shell|s|lua|l|ini|i] output format type. (default "auto") - -P, --prettyPrint pretty print, shorthand for '... style = ""' - --properties-array-brackets use [x] in array paths (e.g. for SpringBoot) - --properties-separator string separator to use between keys and values (default " = ") - -s, --split-exp string print each result (or doc) into a file named (exp). [exp] argument must return a string. You can use $index in the expression as the result counter. The necessary directories will be created. - --split-exp-file string Use a file to specify the split-exp expression. - --string-interpolation Toggles strings interpolation of \(exp) (default true) - --tsv-auto-parse parse TSV YAML/JSON values (default true) - -r, --unwrapScalar unwrap scalar, print the value with no quotes, colors or comments. Defaults to true for yaml (default true) - -v, --verbose verbose mode - -V, --version Print version information and quit - --xml-attribute-prefix string prefix for xml attributes (default "+@") - --xml-content-name string name for xml content (if no attribute name is present). (default "+content") - --xml-directive-name string name for xml directives (e.g. ) (default "+directive") - --xml-keep-namespace enables keeping namespace after parsing attributes (default true) - --xml-proc-inst-prefix string prefix for xml processing instructions (e.g. ) (default "+p_") - --xml-raw-token enables using RawToken method instead Token. Commonly disables namespace translations. See https://pkg.go.dev/encoding/xml#Decoder.RawToken for details. (default true) - --xml-skip-directives skip over directives (e.g. ) - --xml-skip-proc-inst skip over process instructions (e.g. ) - --xml-strict-mode enables strict parsing of XML. See https://pkg.go.dev/encoding/xml for more details. + -C, --colors force print with colors + --csv-auto-parse parse CSV YAML/JSON values (default true) + --csv-separator char CSV Separator character (default ,) + --debug-node-info debug node info + -e, --exit-status set exit status if there are no matches or null or false is returned + --expression string forcibly set the expression argument. Useful when yq argument detection thinks your expression is a file. + --from-file string Load expression from specified file. + -f, --front-matter string (extract|process) first input as yaml front-matter. Extract will pull out the yaml content, process will run the expression against the yaml content, leaving the remaining data intact + --header-preprocess Slurp any header comments and separators before processing expression. (default true) + -h, --help help for yq + -I, --indent int sets indent level for output (default 2) + -i, --inplace update the file in place of first file given. + -p, --input-format string [auto|a|yaml|y|json|j|props|p|csv|c|tsv|t|xml|x|base64|uri|toml|lua|l|ini|i] parse format for input. (default "auto") + --lua-globals output keys as top-level global variables + --lua-prefix string prefix (default "return ") + --lua-suffix string suffix (default ";\n") + --lua-unquoted output unquoted string keys (e.g. {foo="bar"}) + -M, --no-colors force print with no colors + -N, --no-doc Don't print document separators (---) + -0, --nul-output Use NUL char to separate values. If unwrap scalar is also set, fail if unwrapped scalar contains NUL char. + -n, --null-input Don't read input, simply evaluate the expression given. Useful for creating docs from scratch. + -o, --output-format string [auto|a|yaml|y|json|j|props|p|csv|c|tsv|t|xml|x|base64|uri|toml|shell|s|lua|l|ini|i] output format type. (default "auto") + -P, --prettyPrint pretty print, shorthand for '... style = ""' + --properties-array-brackets use [x] in array paths (e.g. for SpringBoot) + --properties-separator string separator to use between keys and values (default " = ") + --security-disable-env-ops Disable env related operations. + --security-disable-file-ops Disable file related operations (e.g. load) + --shell-key-separator string separator for shell variable key paths (default "_") + -s, --split-exp string print each result (or doc) into a file named (exp). [exp] argument must return a string. You can use $index in the expression as the result counter. The necessary directories will be created. + --split-exp-file string Use a file to specify the split-exp expression. + --string-interpolation Toggles strings interpolation of \(exp) (default true) + --tsv-auto-parse parse TSV YAML/JSON values (default true) + -r, --unwrapScalar unwrap scalar, print the value with no quotes, colors or comments. Defaults to true for yaml (default true) + -v, --verbose verbose mode + -V, --version Print version information and quit + --xml-attribute-prefix string prefix for xml attributes (default "+@") + --xml-content-name string name for xml content (if no attribute name is present). (default "+content") + --xml-directive-name string name for xml directives (e.g. ) (default "+directive") + --xml-keep-namespace enables keeping namespace after parsing attributes (default true) + --xml-proc-inst-prefix string prefix for xml processing instructions (e.g. ) (default "+p_") + --xml-raw-token enables using RawToken method instead Token. Commonly disables namespace translations. See https://pkg.go.dev/encoding/xml#Decoder.RawToken for details. (default true) + --xml-skip-directives skip over directives (e.g. ) + --xml-skip-proc-inst skip over process instructions (e.g. ) + --xml-strict-mode enables strict parsing of XML. See https://pkg.go.dev/encoding/xml for more details. + --yaml-fix-merge-anchor-to-spec Fix merge anchor to match YAML spec. Will default to true in late 2025 Use "yq [command] --help" for more information about a command. ``` diff --git a/examples/data1.yaml b/examples/data1.yaml index 7b95dbbf..97202a4a 100644 --- a/examples/data1.yaml +++ b/examples/data1.yaml @@ -1,3 +1 @@ -[[fruits]] -[[fruits.varieties]] # nested array of tables -name = "red delicious \ No newline at end of file +a: apple \ No newline at end of file