{"id":17844073,"url":"https://github.com/ginglis13/rustutils","last_synced_at":"2025-10-18T09:47:04.973Z","repository":{"id":104555922,"uuid":"258337436","full_name":"ginglis13/rustutils","owner":"ginglis13","description":"some coreutils written in rust :fried_shrimp:","archived":false,"fork":false,"pushed_at":"2020-04-25T00:12:50.000Z","size":11,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-08T05:44:12.526Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/ginglis13.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-23T21:41:37.000Z","updated_at":"2020-10-05T21:47:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"b30ae0c8-29d2-434c-9d8d-c9a3a64776ef","html_url":"https://github.com/ginglis13/rustutils","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/ginglis13%2Frustutils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ginglis13%2Frustutils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ginglis13%2Frustutils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ginglis13%2Frustutils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ginglis13","download_url":"https://codeload.github.com/ginglis13/rustutils/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246834548,"owners_count":20841568,"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":["hacktoberfest"],"created_at":"2024-10-27T21:27:55.609Z","updated_at":"2025-10-18T09:46:59.930Z","avatar_url":"https://github.com/ginglis13.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rustutils\n\nA few basic coreutils implementations written in Rust. At the moment, only compatible on Unix.\n\n**Contributions welcome.**\n\n## Building/Running\n\n`cargo build` to build all binaries, then `./target/debug/$CMD` to run.\n\nIf you want to only build one binary: `cargo build --bin \u003cNAME\u003e`.\n\n## Utils\n\nAll utils with at least a base implementation are listed below. Each util\nhas a section with TODO's that are either missing options or implementationdetails for fixing existing options to match coreutils behavior.\n\n### ls\n```\nUsage: ./target/debug/ls [OPTIONS] FILE\n\nOptions:\n    -h, --help          print help information\n    -A                  list all files and directories, including dotfiles,\n                        but not '.' and '..'\n    -l                  use a long listing format\n    -R                  recursively list contents of directory\n\n```\n\n**Options left/todo**\n- recursive doesn't produce same style output as coreutils\n- color file types\n- custom sort\n- -a: show hidden including '.' and '..'\n- and many many more...\n\n### cat\n\nPretty much just the base implementation is in place.\n\n- 'h', '--help'\n\n**Options left/todo**\n- read from stdin if no file provided\n- show ends\n- show tabs\n- show all\n\n### head\n\n```\nUsage: ./target/debug/head [OPTION] FILE\n\nOptions:\n    -h, --help          print help information\n    -c, --bytes NUM     print the first NUM bytes of each file\n    -n, --lines NUM     print the first NUM lines instead of the first 10\n    -q, --quiet         never print headers giving file names\n    -v, --verbose       always print headers giving file names\n```\n\n**Options left/todo**\n- read from stdin if no file provided\n\n### yes\n\n:heavy_check_mark::rocket:\n\n### env\n\nbase implemented, just uses `std::env::vars()`\n\n### ...\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fginglis13%2Frustutils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fginglis13%2Frustutils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fginglis13%2Frustutils/lists"}