yfind

Search YAML files satisfying specified conditions.


Keywords
yaml, find, search
License
BSD-2-Clause
Install
pip install yfind==0.1.0a2

Documentation

yfind

Search YAML files satisfying specified conditions.

Depends on Python 3.

Examples: yfind '.mailings[0].sent < 2012/06/12' my_files/

yfind '.id == 10'

((?.id) and (yfind '.id == 10)) or (.enabled == "False")'

Currently supported search expressions:

<Operand> <Operator> <Operand>

where Operator is one of ==, !=, <, >, <= or >=.

Operands may be numbers (1, 3.0), scalars ("foo", "bar"), dates (2007/12/30) or YAML fields (.foo.bar, .foo[4].bar, .bar).

To check for existance of a field, use '?' before the field name: ?.foo.bar.

Search expression can be combined with the logical operators "and, or, not":

  • not (<SearchExpression>)
  • (<SearchExpression>) and (<SearchExpression>)
  • (<SearchExpression>) or (<SearchExpression>)