Rawhide – (rh) find files using pretty C expressions
1–10 of 15 posts
Re: Rawhide – (rh) find files using pretty C expressions
#2 Authors: 1990 Ken Stauffer, 2022 raf
Has this been around since 1990?I’m bummed I didn’t know about it. The variety of output options is amazing.
Re: Rawhide – (rh) find files using pretty C expressions
#3It's really fitting to have a supremely technical and focused tool like this be described with things like "pretty C expressions" and (my favorite) "it's like find(1), but more fun to use", because obviously writing low-level C-like expressions to match against files is fun, most of all. Love it.
Also some of the examples are truly powerful, and at least I was not aware of any tool that could do things like this:
# Find executable files that are larger than 10KiB, and have not been executed in the last 24 hours:
anyx && sz > 10K && atime 1
# Find symlinks whose ultimate targets are on a different filesystem:
texists && tdev != dev
Examples all cherry-picked from the manual page, and I picked the most terse version, more readable/explanatory versions using fewer built-ins are also available.Many of the examples feel liks "I would never need that"-territory, until you do and then it's like impossible unless you write your own specialized tool to do it, or reach for this. Very cool!
Re: Rawhide – (rh) find files using pretty C expressions
#4Looking at the last line: Authors: 1990 Ken Stauffer, 2022 raf Has this been around since 1990? I’m bummed I didn’t know about it. The variety of output options is amazing.
Hello Robert if you're reading this.
Others, have a look at libslack too.
Re: Rawhide – (rh) find files using pretty C expressions
#5Ah, I see: https://github.com/raforg/rawhide/commits/main A bit more cleanup and handy aliases also.
Re: Rawhide – (rh) find files using pretty C expressions
#6But, if you find yourself wanting something like this, and don't want to install anything new... Here's something close in Perl that uses File::stat (this ships with Perl):
find . -print | perl -MFile::stat -nE 'chomp;$s=stat($_);$s->nlink > 1 && say'Re: Rawhide – (rh) find files using pretty C expressions
#7What did he do to rh? I suppose just adding json support, and 64bit off_t support. Ah, I see: https://github.com/raforg/rawhide/commits/main A bit more cleanup and handy aliases also.
Re: Rawhide – (rh) find files using pretty C expressions
#8What did he do to rh? I suppose just adding json support, and 64bit off_t support. Ah, I see: https://github.com/raforg/rawhide/commits/main A bit more cleanup and handy aliases also.
I was the original author. Heh, heh -- I'm still alive. I just glanced at the code and it looks like a wonderful rewrite. I couldn't see any of my original gross code. Not only that, they massively added to the functionality. It's really a totally new thing. I just had to chime in here to thank raf for seeing something cool in the original and making a great piece of software. -- Ken
Re: Rawhide – (rh) find files using pretty C expressions
#9Looking at the last line: Authors: 1990 Ken Stauffer, 2022 raf Has this been around since 1990? I’m bummed I didn’t know about it. The variety of output options is amazing.
Btw, its not related to RedHat or Fedora Rawhide.
Re: Rawhide – (rh) find files using pretty C expressions
#10This looks very handy, and maps closely to something I use Perl for, but that requires more boilerplate. But, if you find yourself wanting something like this, and don't want to install anything new... Here's something close in Perl that uses File::stat (this ships with Perl): find . -print | perl -MFile::stat -nE 'chomp;$s=stat($_);$s->nlink > 1 && say'
I use that occasionally when coding up hairy `find` invocations.