{"id":19834329,"url":"https://github.com/orangesi/grepfile","last_synced_at":"2025-09-18T10:31:51.095Z","repository":{"id":201241010,"uuid":"204088126","full_name":"orangeSi/grepfile","owner":"orangeSi","description":"a alternative for $grep -f A.list B.list  which cost too many memory and time","archived":false,"fork":false,"pushed_at":"2021-09-09T03:05:23.000Z","size":10974,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-19T13:07:38.617Z","etag":null,"topics":["crystal-lang","grep-like","regex","ruby"],"latest_commit_sha":null,"homepage":"","language":"Crystal","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/orangeSi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-08-24T00:31:20.000Z","updated_at":"2024-03-15T08:24:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"2f85b3b9-a123-442e-9d59-426a0d7f3882","html_url":"https://github.com/orangeSi/grepfile","commit_stats":null,"previous_names":["orangesi/grepfile"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orangeSi%2Fgrepfile","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orangeSi%2Fgrepfile/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orangeSi%2Fgrepfile/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orangeSi%2Fgrepfile/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/orangeSi","download_url":"https://codeload.github.com/orangeSi/grepfile/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233472481,"owners_count":18681387,"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":["crystal-lang","grep-like","regex","ruby"],"created_at":"2024-11-12T12:03:57.087Z","updated_at":"2025-09-18T10:31:45.247Z","avatar_url":"https://github.com/orangeSi.png","language":"Crystal","funding_links":[],"categories":[],"sub_categories":[],"readme":"# grepfile\na alternative for $grep -f A.list B.list which cost too many memory and time\n### usage:\n```\n$ cat t.list\n@ddd\n\u003eB1\nA1\n\n$ cat q.list\n#xx\n\u003eA1\n\u003eddd\nA2\n\u003eB\n\n$ ./grepfile t.list  q.list \nA1\n\n$cat t.list|./grepfile - q.list \nA1\n\n$cat q.list|./grepfile t.list -\nA1\n\n$./grepfile t.list  q.list --exact-match 0\n\u003eB1\nA1\n\n$ ldd grepfile\n\tnot a dynamic executable\n```\n\n### Install:\n```\ndirectyly use grepfile binary executable file in Linux or complie grepfile.cr with crystal lang(v1.0.0)\n```\n\n### document\n```\nontact: https://github.com/orangeSi/grepfile/issues\nUsage:\n  ./grepfile [flags...] \u003ctarget\u003e \u003cquery\u003e [arg...]\n\nA replace for $ grep -f (which cost too many memory and time) in Linux\n\nFlags:\n  --column-query (default: 1)                 # choose which column to compare\n  --column-target (default: 1)                # choose which column to compare\n  --delete-chars-from-column (default: \"^\u003e\")  # delete \u003e from content of column, support regex syntax\n  --exact-match (default: 1)                  # if \u003e=1, mean equal totally else mean macth\n  --help                                      # Displays help for the current command.\n  --ignore-case (default: 0)                  # if set to 1 mean will ignore case for query and target match, default 0\n  --ignore-line-mathed-by (default: \"^[#@]\")  # if content of column start with # or @, will skip this line, support regex syntax\n  --invert-match (default: 0)                 # if \u003e=1, mean invert the sense of matching, to select non-matching lines\n  --sep-query (default: \"\\t\")                 # query separator, '\\t' or '\\s' or other string\n  --sep-target (default: \"\\t\")                # target separator, '\\t' or '\\s' or other string\n  --sort-output-by-query (default: 0)         # sort ouput by query column order\n  --version                                   # Displays the version of the current application.\n\nArguments:\n  target (required)                           # target file, support flat or .gz file or stdin(by -)\n  query (required)                            # query file,  support flat or .gz file or stdin(by -)\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forangesi%2Fgrepfile","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forangesi%2Fgrepfile","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forangesi%2Fgrepfile/lists"}