{"id":27334847,"url":"https://github.com/dmuth/index-zip-files","last_synced_at":"2025-10-29T01:04:57.256Z","repository":{"id":40582138,"uuid":"507421722","full_name":"dmuth/index-zip-files","owner":"dmuth","description":"A collection of scripts to index the filenames from ZIP files to allow for easy searching","archived":false,"fork":false,"pushed_at":"2024-06-05T02:01:04.000Z","size":32,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-06-05T03:24:23.497Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/dmuth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-06-25T21:36:10.000Z","updated_at":"2024-06-05T02:01:07.000Z","dependencies_parsed_at":"2022-08-27T02:49:17.779Z","dependency_job_id":null,"html_url":"https://github.com/dmuth/index-zip-files","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmuth%2Findex-zip-files","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmuth%2Findex-zip-files/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmuth%2Findex-zip-files/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmuth%2Findex-zip-files/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dmuth","download_url":"https://codeload.github.com/dmuth/index-zip-files/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248585235,"owners_count":21128969,"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":[],"created_at":"2025-04-12T14:46:28.585Z","updated_at":"2025-10-29T01:04:57.165Z","avatar_url":"https://github.com/dmuth.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Index ZIP Files\n\n\u003cimg src=\"./img/zip-file-icon.jpg\" align=\"right\" /\u003e\n\nWhat this does: Imagine you have hundreds of ZIP files and you want to find a specific file in one of them, without unzipping each file.  This makes that possible.\n\nWhat this does not do: This does not index the content of each ZIP file.\n\n\n## Usage\n\nClone this repo, then run the various scripts like this:\n\n- `./zip-index SOURCE_DIR`\n- `./zip-list SOURCE_DIR`\n- `./zip-search SOURCE_DIR string`\n\nThis is built to be fast, so no filename sorting is done at any point.  If you want sorting, pipe into the `sort` command. :-)\n\nIf you would like to be able to run this app from anywhere in your filesystem, you'll want to...\n\n\n### Creating Aliases\n\nRunning `./zip-aliases SOURCE_DIR ALIAS_KEY` will emit a series of aliases that can be used to index, list, and search ZIP files.\n\nExample: \n\n```\n./zip-aliases ~/Dropbox/ dropbox\n# \n# Generating aliases tied to this installation and source directory\n# \n# Source Directory: /Users/doug/Dropbox\n# Alias Key: dropbox\n# \nalias zip-index-dropbox=\"$HOME/development/index-zip-files/zip-index $HOME/Dropbox\"\nalias zip-list-dropbox=\"$HOME/development/index-zip-files/zip-list $HOME/Dropbox\"\nalias zip-search-dropbox=\"$HOME/development/index-zip-files/zip-search $HOME/Dropbox\"\n```\n\nOnce you paste those three alias lines in shell, typing `zip-index-dropbox` from any directory will index your Dropbox folder's ZIP files, and `zip-search-dropbox` can be used to search it.  And yes, aliases autocomplete in bash. :-)\n\n\n## Terminology\n\n- ZIP File: A compressed archive containing 1 or more files.\n- Index directory: A directory under `indexed-files/` in the directory you indexed, which containes index files for a specific Source directory.\n- Index file: A plaintext file containing filenames of a single ZIP file.\n\n\n## Testing and Development\n\n- Running `./test.sh` will run `zip-create-test-files` to build a sample directory structure containing ZIP files and then \n\n\n## Get in touch\n\nI'm a software engineer based out of Philadelphia, PA.  You can find me on [Twitter](https://twitter.com/dmuth), [Facebook](https://facebook.com/dmuth) and [on my blog](https://www.dmuth.org/).  Feel free to drop by and say hi!\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmuth%2Findex-zip-files","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdmuth%2Findex-zip-files","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmuth%2Findex-zip-files/lists"}