{"id":15089529,"url":"https://github.com/dj95/ygrep","last_synced_at":"2026-03-16T12:32:15.743Z","repository":{"id":97993488,"uuid":"236453197","full_name":"dj95/ygrep","owner":"dj95","description":"🔍 Grep for keys in yaml files and print their complete value.","archived":false,"fork":false,"pushed_at":"2023-05-05T07:45:56.000Z","size":50,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-16T00:26:57.081Z","etag":null,"topics":["cmdline","golang","search","tools","yaml"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dj95.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-01-27T09:09:41.000Z","updated_at":"2023-07-19T23:37:44.000Z","dependencies_parsed_at":"2024-06-12T01:19:15.900Z","dependency_job_id":null,"html_url":"https://github.com/dj95/ygrep","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dj95%2Fygrep","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dj95%2Fygrep/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dj95%2Fygrep/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dj95%2Fygrep/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dj95","download_url":"https://codeload.github.com/dj95/ygrep/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239785315,"owners_count":19696754,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cmdline","golang","search","tools","yaml"],"created_at":"2024-09-25T09:00:39.707Z","updated_at":"2026-03-16T12:32:15.668Z","avatar_url":"https://github.com/dj95.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e🔍 ygrep\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  Search for keys in all yaml files of a directory(and its subdirectories).\n  \u003cbr\u003e\u003cbr\u003e\n  \u003ca href=\"https://github.com/dj95/ygrep/actions?query=workflow%3AGo\"\u003e\n    \u003cimg alt=\"GoActions\" src=\"https://github.com/dj95/ygrep/workflows/Go/badge.svg\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://goreportcard.com/report/github.com/dj95/ygrep\"\u003e\n    \u003cimg alt=\"Go Report Card\" src=\"https://goreportcard.com/badge/github.com/dj95/ygrep\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/dj95/ygrep/releases\"\u003e\n    \u003cimg alt=\"latest version\" src=\"https://img.shields.io/github/tag/dj95/ygrep.svg\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\n## 📦 Requirements\n\n- Golang(\u003e=1.11) *(for building ygrep)*\n- 🚧 Make *(dev dependency)*\n- 🚧 staticcheck *(dev dependency)*\n- 🚧 golint *(dev dependency)*\n\n\n## 🔧 Installation\n\n- Download the binary from the release page for your platform or run `go build -o ygrep cmd/ygrep/main.go`\n- Copy the binary to a location in your `$PATH` (e.g. for linux `sudo cp ygrep /usr/local/bin/.`)\n\n\n## 🚀 Usage\n\nygrep will help you to find key-value pairs in yaml files. For example if you'd like to\nsearch for the all keys containing 'foo' and their related values in the `./test` directory,\nyou can use the commandline `ygrep -p ./test -e '.*foo.*'`. For searching recursively through\nall subdirectories of `./test`, use `ygrep -rp ./test -e '.*foo.*'`.\n\nygrep also works similar like grep, so you are able to use `ygrep -r '.*foo.*' ./test` as an alternative to the previous example.\n\nFeel free to test those commands with the provided yml files in the `./test` directory provided\nin this repository. The first example should look like the following listing:\n\n```\n$ ./bin/ygrep -p ./test -e 'foo'\n:: ./test/foo.yml\nfoo: bar\n\n```\n\nPlease refer to the help page (use `-h` as flag) for more options.\n\n```\n$ ygrep -h\nUsage: ygrep [OPTION]... PATTERN [PATH]\nSearch PATTERN in each yaml file of the PATH\nExample: ygrep -ri foo ./test\nPATTERN should contain a regular expression that matches the\nkey(s) to search for.\n\nOptions:\n  -e, --expression string   the regular expression to use\n  -h, --help                Print the help\n  -i, --insensitive         use the expression case insensitive\n  -p, --path string         choose the path to work in (default \".\")\n  -r, --recursive           search for yaml files recursively\n\nReport bugs at: https://github.com/dj95/ygrep/issues\nHomepage: https://github.com/dj95/ygrep\n```\n\n\n## ✅ Testing\n\nRun `make tests` in order to run the tests for this application.\nAfter running tests you will find a coverage report in the `./report` directory.\n\n\n## 🤝 Contributing\n\nIf you are missing features or find some annoying bugs please feel free to submit an issue or a bugfix within a pull request :)\n\n\n## 📝 License\n\n© 2020 Daniel Jankowski\n\n\nThis project is licensed under the MIT license.\n\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdj95%2Fygrep","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdj95%2Fygrep","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdj95%2Fygrep/lists"}