5 ms·
I basically live in the terminal. However, every single one of these tools offers a solution to a problem that I don't have; aren't installed on my system; and
by fergie 1y ago
I basically live in the terminal. However, every single one of these tools offers a solution to a problem that I don't have; aren't installed on my system; and mysteriously have many tens of thousands of github stars.
I genuinely don't know what is going on here.
- oneeyedpigeon 1y agoThe core Unix toolset is so good, that you can easily get by with it. Many of these tools are better, but still not necessary, and they certainly aren't widely available by default.
- account42 1y agoThey tend to be popular with the "rewrite it in rust/go" crowd as far as I can tell. Or in other words, you are no longer part of the cool kids.
- anthk 1y agoI've seen an online radio player in Go which was unusabiily slow on my Atom n270 due to the badly coded ANSI audio visualization FX' using floating math. Meanwhile a with Cava or another visualizer and mpd+mpc I could do the same using 200x less resources.
- maeln 1y ago> I basically live in the terminal. However, every single one of these tools offers a solution to a problem that I don't have; aren't installed on my system; and mysteriously have many tens of thousands of github stars. > I genuinely don't know what is going on here. I basically live in my music library. However, every single pop artist offers songs that I don't like, are not in my library, and mysteriously have many millions of albums sold. I genuinely don't know what is going on here. Joking aside, have you ever tried to use some of these tools ? I use to not understand why people where using vim until I really tried.
- fergie 1y ago> Joking aside, have you ever tried to use some of these tools No. > I use to not understand why people where using vim until I really tried. There's your problem. I respectfully suggest installing Emacs.
- robenkleene 1y agoOut of curiosity, how would you recursively grep files ignoring (hidden files [e.g., `.git`]), only matching a certain file extension? (E.g., `rg -g '*.foo' bar`.) I use the command line a lot too and this is one of my most common commands, and I don't know of an elegant way to do it with the builtin Unix tools. (And I have basically the same question for finding files matching a regex or glob [ignoring the stuff I obviously don't want], e.g., `fd '.foo.*'`.)
- fergie 1y agogrep -ri foo ./* Hits in hidden files is not really a pain point for me
- robenkleene 1y agoCurious if that answers the "I genuinely don't know what is going on here" then? Not searching hidden files (or third-party dependencies, which `rg` also does automatically with its ignore parsing) isn't just a nice to have, it's mandatory for a number of tasks a software engineer might be performing on a code base?
- hrimfaxi 1y agoThat doesn't apply to the very specific case for which the parent asked a solution.
- MontyCarloHall 1y agoDepends on how big the directory is. If it only contains a few files, I'd just enumerate them all with `find`, filter the results with `grep`, and perform the actual `grep` for "bar" using `xargs`: find . -type f -name "*.foo" | grep -v '/\.' | xargs grep bar (This one I could do from muscle memory.) If traversing those hidden files/directories were expensive, I'd tell `find` itself to exclude them. This also lets me switch `xargs` for `find`'s own `-exec` functionality: find . -path '*/\.*' -prune -o -type f -name "*.foo" -exec grep bar {} + (I had to look that one up.)
- 1y ago
- twic 1y agoHow would you filter and transform a large JSON file, without jq?
- eulers_secret 1y agoMany of us just don't use JSON in our day jobs, weird I know, but true. The only thing I use JQ for at work is parsing the copilot API response so I remember what the model names are - that's it! TBH, I could just skip it and read the json
- deleted 1y ago[deleted]
- esafak 1y agoWhat do you do in the terminal all day that does not leave you with the desire to improve your toolset? Do you write all your own tools?
- qustrolabe 1y agoYou never use fzf? What a tough life in terminal then huh. It's not as useful to run it directly, but pretty much any shell has plugin for fzf support that let's you Ctrl+R to fuzzy search over bash_history (or fish_history or whatever) and Ctrl+T let's you fuzzy search files in current directory.
- akho 1y agofish fuzzy matches on Ctrl+R, and on Tab, without fzf.
- soraminazuki 1y agoThat's nice, but there's value in a fuzzy finder existing as a standalone tool. Also if I had to guess, the type of person who criticizes tools like jq, fzf, and ripgrep and struggles to understand some people's need for benchmarking tools like hyperfine would likely disapprove of fish as well.
- akho 1y agoThis was strictly in reply to the direct parent commenter, who mentioned fish_history and extolled fzf's shell integrations. I often use fzf for mini-TUIs, or pipe to it. The OP list is significantly cheapened by the various ls alternatives.
- akho 1y agoThe list includes jq. I’d frankly love to never have a problem that jq solves, but, well, here we are. ripgrep is something I have installed, but use only via text editor integrations. fzf is nice for building ad-hoc TUIs. fd may make sense (I’m told it’s faster than find), but I already know enough find. The “next gen ls” family of tools in the article is baffling.