{"id":16630928,"url":"https://github.com/sclevine/ztgrep","last_synced_at":"2025-10-30T03:32:15.088Z","repository":{"id":57656727,"uuid":"456326612","full_name":"sclevine/ztgrep","owner":"sclevine","description":"Streaming search inside nested archives","archived":false,"fork":false,"pushed_at":"2022-03-11T23:51:41.000Z","size":29,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-02T06:11:29.238Z","etag":null,"topics":["archive","bz2","go","golang","grep","gz","gzip","search","tar","xz","zip","zstd"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sclevine.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}},"created_at":"2022-02-07T01:59:50.000Z","updated_at":"2024-09-02T04:00:24.000Z","dependencies_parsed_at":"2022-08-26T05:41:06.716Z","dependency_job_id":null,"html_url":"https://github.com/sclevine/ztgrep","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sclevine%2Fztgrep","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sclevine%2Fztgrep/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sclevine%2Fztgrep/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sclevine%2Fztgrep/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sclevine","download_url":"https://codeload.github.com/sclevine/ztgrep/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238930129,"owners_count":19554122,"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":["archive","bz2","go","golang","grep","gz","gzip","search","tar","xz","zip","zstd"],"created_at":"2024-10-12T04:50:06.428Z","updated_at":"2025-10-30T03:32:09.829Z","avatar_url":"https://github.com/sclevine.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ztgrep\n\n[![GoDoc](https://pkg.go.dev/badge/github.com/sclevine/ztgrep?status.svg)](https://pkg.go.dev/github.com/sclevine/ztgrep)\n[![Tests](https://github.com/sclevine/ztgrep/actions/workflows/go.yml/badge.svg)](https://github.com/sclevine/ztgrep/actions/workflows/go.yml)\n\nSearch inside nested archives.\n\nUseful for locating data lost inside many levels of compressed archives without using additional storage.\n\nSupports the following compression formats for **both archives and files**:\n- gzip\n- bzip2\n- xz (requires [xz-utils](https://tukaani.org/xz/) with `xz` CLI on `$PATH`)\n- zstd (requires [zstd](https://github.com/facebook/zstd) with `zstd` CLI on `$PATH`)\n- uncompressed\n\nAs well as the following archive formats:\n- Tar (V7, USTAR, PAX, GNU, STAR)\n- [ZIP](https://en.wikipedia.org/wiki/ZIP_(file_format)) (with size limitation)\n\nCompressed files and archives must have a recognizable file extension to be searched.\n\nIf multiple paths are specified, they are searched in parallel with nondeterministic output order.\nHowever, output order is deterministic for any single path.\nOnly one path per CPU is searched concurrently.\n\nNested ZIP files must be read into memory to be searched.\nBy default, ZIP files larger 10 MB are not searched.\nThe `-z` option may be used to adjust the size limit.\n\n```\nUsage:\n  ztgrep [OPTIONS] regexp paths...\n\nSearch Options:\n  -b, --skip-body     Skip file bodies\n  -n, --skip-name     Skip file names inside of tarballs\n  -z, --max-zip-size= Maximum zip file size to search in bytes (default: 10 MB)\n\nGeneral Options:\n  -v, --version       Return ztgrep version\n\nHelp Options:\n  -h, --help          Show this help message\n```\n\n### Installation\n\nBinaries for macOS, Linux, and Windows are [attached to each release](https://github.com/sclevine/ztgrep/releases) and available via [Homebrew](https://brew.sh):\n```\nbrew install sclevine/tap/ztgrep\n```\n\n\n`ztgrep` is also available as a [Docker image](https://hub.docker.com/r/sclevine/ztgrep).\n\n### Go Package\n\nztgrep may be imported as a Go package.\nSee [godoc](https://pkg.go.dev/github.com/sclevine/ztgrep) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsclevine%2Fztgrep","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsclevine%2Fztgrep","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsclevine%2Fztgrep/lists"}