moreutils
pueue
moreutils | pueue | |
---|---|---|
19 | 37 | |
2 | 4,575 | |
- | - | |
0.0 | 8.7 | |
over 1 year ago | 11 days ago | |
Shell | Rust | |
GNU General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
moreutils
-
Pipexec – Handling pipe of commands like a single command
I use mutlios and even I'm not that attached to it. The majority of my use is combined with process substitution, and could be replaced with common-ish tools like pee¹ or pipexec for more complex cases. The only occasion when I'm thankful for it is if I want to use a shell function as a target, but there are workarounds for that too.
As a noclobber user the footgun is largely hidden to me, but I feel its presence. multios without globbing support would be less useful, but would still work for most of my use cases. Scanning my shell history I see various cases of relying on zsh's ability to apply sorting and filtering to globs with multios' input redirection, but only a couple where I want that in output redirection.
Even with multios unset the behaviour is different between zsh and bash. For example, multios disables all the expansion, so zsh behaves like more like dash with ': >t{1,2}' by creating a file instead producing an error like bash does.
[FWIW, I google'd multiios to link the option in original comment. It really feels to me like it needs double-i, and I read the single i name the same way you do.]
---
I'd be one of those people whose desire for dgsh-like functionality wanes. If it was slight DSL that I could "upgrade" pipelines to I'd probably use it, but not enough to warrant working on it or switching other tooling to support it.
The end of result of this morning's pipeline was breaking my jobs up, and applying some judicious use of nq² to keep track of it. I'd follow your advice and move on to more specialist tools if the job grew significantly or if it became a regular occurrence.
¹ https://joeyh.name/code/moreutils/
² https://git.vuxu.org/nq/about/
- Show HN: Simple Script for Enhanced LLM Interaction in Vim
-
The shell and its crappy handling of whitespace
For filesystem operations like batch renames at least, I am usually happy with `vidir` (part of `moreutils`: https://joeyh.name/code/moreutils/).
`vidir [path]` will open an editor with the given directory as buffer contents.
-
Show HN: LineSelect, shell utility to interactively select lines in a pipeline
See also: "vipe" from the excellent "moreutils" package: https://joeyh.name/code/moreutils/
There are some other gems in this package. The ones I find myself using regularly are 'ts' and 'sponge' but I'm sure the useful subset depends a lot on the kind of work you are doing
-
Vim Keybindings Everywhere – The Ultimate List
Joey Hess' excellent moreutils¹ comes with vipe which is a generalised solution for these types of tasks. It allows you to run whatever $EDITOR you've configured mid-pipe, making it possible to work your changes up in an interactive editor session. Useful for those of us not smart enough to write up our changes as a series of -c arguments ;)
(It fixes the vim issue by virtue of using a temporary file to do the magic)
¹ https://joeyh.name/code/moreutils/
-
vimv has not only changed my workflow, it changed my life
Sounds like `vidir` from moreutils.
-
What "nice-to-have" CLI tools do you know?
vidir and a few others from moreutils
-
rtl_fm - record and also output audio on a speaker (Raspberry pi?)
Use pee (yes, I know) from moreutils. Something like:
-
How to re-order the strings of a filename in bulk?
I would use vidir from moreutils. Then you can do any edits and play around with any regexes you want!
-
Should i learn file management using terminal?
For bulk file renaming, I recommend vidir from moreutils - it lets you rename everything in a directory with your $EDITOR (vim being the default).
pueue
-
Sequential and parallel execution of long-running shell commands
You can probably do a good subset it in bash, it's just a nicer interface with a lot of configurability and several convenience features.
I'm generally a big fan of showing alternatives: https://github.com/Nukesor/pueue/?tab=readme-ov-file#similar...
Would you be willing to write a proper guide on how to do all of these things in bash? It would be great to have this as guide an alternative inside the Pueue wiki and link to it. It'll help people to make a more informed decision on whether they need this tool or not.
-
Looking for a pueue debian maintainer
there is a command line manager for long running tasks called Pueue. It is released into Nix, Arch, Alpine, Void, etc, but not for Debian based distros. I know that releasing into Debian is a bit more challenging, but I just wanted to ask if anybody here might be interested in packaging it. Just as a disclaimer, I am not the author of this project, just a regular user.
-
Can't find the name of a tool...
This one? https://github.com/Nukesor/pueue
-
Systemd timer having service running one after the other at a set time.
How about this: https://github.com/Nukesor/pueue/? I have it bookmarked from a thread here from few years back and never got to test it eventually, but maybe it will serve your purposes?
-
How can I run commands in parallel and write the output of each command to different linux terminals, one linux terminal for each command running in parallel.
Multiplexing is great for your multiple outputs, but I would highly recommend using pueue & pueued for job control. Lets you organize your background jobs into groups which can be paused, resumed, etc. Also lets you act on jobs from different terminals w/the pueue interface.
-
What "nice-to-have" CLI tools do you know?
pueue -- a queue for tasks, running in background
-
Why is Tmux better than neovim's built-in terminal?
For the command that takes a long time to complete, I always use pueue to run. This thing let you run multiple commands in order and can schedule the execution later which is really helpful to my workflow.
-
Should I use async or multiprocessing in my project and which library to use?
That said, you're basically building pueue. https://github.com/Nukesor/pueue/blob/main/ARCHITECTURE.md might give you some pointers. From reading it, there seems to be a mishmash of tokio stuff, and then everything gets serialised onto an MPSC channel (that's serviced by TaskHandler, on a single thread that's also responsible for polling for finished processes etc, every 200ms).
-
What do you use to copy large files from one HDD to another?
exchange for pueue and you can even queue them up.
-
What are some popular background job processing frameworks in the Rust ecosystem?
This is the only one I know of: https://github.com/Nukesor/pueue
What are some alternatives?
pipe-rename - Rename your files using your favorite text editor
tantivy - Tantivy is a full-text search engine library inspired by Apache Lucene and written in Rust [Moved to: https://github.com/quickwit-oss/tantivy]
atomicxt
tab-rs - The intuitive, config-driven terminal multiplexer designed for software & systems engineers
map.xplr - Visually inspect and interactively execute batch commands using xplr
awesome-rewrite-it-in-rust - A curated list of replacements for existing software written in Rust [Moved to: https://github.com/TaKO8Ki/awesome-alternatives-in-rust]
lineselect - Shell utility to interactively select lines from stdin
breeze - An experimental, kakoune-inspired CLI-centric text/code editor with |-shaped cursor (in Rust)
fstring - Make searching for text strings easier on Linux :)
nq - Unix command line queue utility
vidir - edit directory in $EDITOR (better than vim . with netrw)
starfetch - Display constellations in your terminal