{"id":26883696,"url":"https://github.com/jiro4989/yourutils","last_synced_at":"2025-05-08T17:09:41.255Z","repository":{"id":80274326,"uuid":"189117314","full_name":"jiro4989/yourutils","owner":"jiro4989","description":"Tiny your cli utilities in pure Nim","archived":false,"fork":false,"pushed_at":"2020-07-05T02:03:44.000Z","size":196,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-31T17:50:29.579Z","etag":null,"topics":["cli","command","nim"],"latest_commit_sha":null,"homepage":"","language":"Nim","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/jiro4989.png","metadata":{"files":{"readme":"README.rst","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":"2019-05-28T23:30:15.000Z","updated_at":"2024-06-04T02:52:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"bc9a7baf-8e65-48f2-8712-960faf6609e1","html_url":"https://github.com/jiro4989/yourutils","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jiro4989%2Fyourutils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jiro4989%2Fyourutils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jiro4989%2Fyourutils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jiro4989%2Fyourutils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jiro4989","download_url":"https://codeload.github.com/jiro4989/yourutils/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253112071,"owners_count":21856070,"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":["cli","command","nim"],"created_at":"2025-03-31T17:36:48.835Z","updated_at":"2025-05-08T17:09:39.651Z","avatar_url":"https://github.com/jiro4989.png","language":"Nim","funding_links":[],"categories":[],"sub_categories":[],"readme":"=========\nyourutils\n=========\n\n|gh-actions|\n\nyourutils are tiny useful cli commands.\n\n.. contents:: Table of contents\n   :depth: 3\n\nDevelopment\n===========\n\nNim 1.0.0\n\nUsage\n=====\n\nflat\n----\n\nFlats\n\n.. code-block:: shell\n\n   $ seq 5 | flat\n   1 2 3 4 5\n\n   $ seq 5 | flat -n 2\n   1 2\n   3 4\n   5\n\n   $ seq 5 | flat -d ,\n   1,2,3,4,5\n\n\nrep\n----\n\nRepeat words.\n\n.. code-block:: shell\n\n   $ rep 5 A\n   AAAAA\n\n   $ echo 'A B' | rep 5 -i\n   A BA BA BA BA B\n\n   $ rep 1 3 5 A\n   A\n   AAA\n   AAAAA\n\n   $ rep $(seq 5) A\n   A\n   AA\n   AAA\n   AAAA\n   AAAAA\n\nucut\n----\n\nUnicode cut.\n\n.. code-block:: shell\n\n   $ echo １あ２あ３ | ucut -d あ -f 1,2\n   １ ２\n\nalign\n-----\n\nAlign texts.\n\n.. code-block:: shell\n\n   % echo $'123\\nあいう\\nえお' | align right \n      123\n   あいう\n     えお\n\n   % echo $'1234\\nああああああ\\nうえお' | align center -p =  \n   ====1234====\n   ああああああ\n   ===うえお===\n\naggr\n----\n\n.. code-block:: shell\n\n   cat cpu.csv | aggr -d , -f 2,3\n   aggr -d , -f 2,3 cpu.csv mem.csv\n\ntb\n----\n\nConvert from text input stream like table to Table format (markdown, html or\nasciidoc). A default delimiter of input stream is the `TAB`. You can change a\ndefault delimiter with `-d` option.\n\n.. code-block:: shell\n\n   $ paste \u003c(seq 5) \u003c(seq 6 10) \u003c(seq 11 15) | tb\n   |1|6|11|\n   |:---:|:---:|:---:|\n   |2|7|12|\n   |3|8|13|\n   |4|9|14|\n   |5|10|15|\n\n   $ paste -d , \u003c(seq 5) \u003c(seq 6 10) \u003c(seq 11 15) | tb -d , -f adoc\n   [options=\"header\"]\n   |=================\n   |1|6|11\n   |2|7|12\n   |3|8|13\n   |4|9|14\n   |5|10|15\n   |=================\n\nrenames\n-------\n\nRename files and directories recursively.\nYou can try `dry-run`.\n\n.. code-block:: shell\n\n   # Dry run is `--dry-run` or `-d`\n   $ renames replace --dry-run -t _ target_dir\n   $ renames replace -d -t _ target_dir\n   # You can set multiple `--from-strs` or `-f`\n   $ renames replace -f a -f b -f c -t \"_\" target_dir\n\n   # Delete whitespace\n   $ renames delete target_dir\n   # Print remaming\n   $ renames delete -p target_dir\n\n   # To lower\n   $ renames lower target_dir\n\n   # To upper\n   $ renames upper target_dir\n\nzshprompt\n---------\n\nZsh prompt.\n\nPrompt is here.\n\n.. code-block:: shell\n\n   17:42:12 jiro4989@jiro4989-pc ~/src/github.com/jiro4989/yourutils master •\n   (;^q^)? ›\n\nAnd settings of `.zshrc` .\n\n.. code-block:: shell\n\n   readonly __ZSH_PROMPT_CMD=\"$HOME/.nimble/bin/zshprompt\"\n\n   autoload -Uz add-zsh-hook\n   _nicy_prompt() {\n     if type \"$__ZSH_PROMPT_CMD\" \u003e\u0026 /dev/null; then\n       PROMPT=$(\"$__ZSH_PROMPT_CMD\")\n     fi\n   }\n   add-zsh-hook precmd _nicy_prompt\n\ntiff\n----\n\nTime diff.\n\n.. code-block:: shell\n\n   $ tiff 19:00 18:00\n   3600 seconds\n\n   $ tiff 19:00 18:00 -H\n   1 hours\n\n   $ tiff 19:00 18:00 -M\n   60 minutes\n\njsonfmt\n-------\n\nFormat json from stdin.\n\n.. code-block:: shell\n\n   $ echo '{\"a\":1, \"b\":true, \"c\":[1, 2, 3], \"d\":{\"a\":1, \"b\":\"test\"}}' | jsonfmt\n   {\n     \"a\": 1,\n     \"b\": true,\n     \"c\": [\n       1,\n       2,\n       3\n     ],\n     \"d\": {\n       \"a\": 1,\n       \"b\": \"test\"\n     }\n   }\n\nmcp\n----\n\nCopy multiple files or directories with editor\n\n|demo-mcp|\n\nmsel\n----\n\nSelect input lines with editor\n\nmarc\n----\n\nArchive multiple files\n\nInstall\n=======\n\n.. code-block:: shell\n\n   nimble install https://github.com/jiro4989/yourutils\n\nDownload binary from `Release \u003chttps://github.com/jiro4989/yourutils/releases\u003e`_.\n\nLicense\n=======\n\nMIT\n\n.. |gh-actions| image:: https://github.com/jiro4989/yourutils/workflows/build/badge.svg\n   :target: https://github.com/jiro4989/yourutils/actions\n.. |nimble-version| image:: https://nimble.directory/ci/badges/yourutils/version.svg\n   :target: https://nimble.directory/ci/badges/yourutils/nimdevel/output.html\n.. |nimble-install| image:: https://nimble.directory/ci/badges/yourutils/nimdevel/status.svg\n   :target: https://nimble.directory/ci/badges/yourutils/nimdevel/output.html\n.. |nimble-docs| image:: https://nimble.directory/ci/badges/yourutils/nimdevel/docstatus.svg\n   :target: https://nimble.directory/ci/badges/yourutils/nimdevel/doc_build_output.html\n\n.. |demo-mcp| image:: ./docs/mcp.gif\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjiro4989%2Fyourutils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjiro4989%2Fyourutils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjiro4989%2Fyourutils/lists"}