Re: [9fans] Replacement for find
Thanks for your answers! But I consider it ugly, to ask for the disk usage if you just want to recursively list all files. And then, the man page for du(1) is missing from the distribution http://github.com/9fans/plan9port If found one in the book "Plan9 the Manuals", snd edition. But neither on the CD from the second Edition or the current one. Greetings, Wolfgang
Re: [9fans] Replacement for find
> But I consider it ugly, to ask for the disk usage if you just want to > recursively list all files. Find queries a lot more information than du, including what du queries, so that's purely aesthetic. You'll find "walk" as well as my own "stat" on "sources", if you can get to it. I'm not sure if there are copies elsewhere. My stat is mostly correct, but too ambitious to be bug-free. I think the man pages it comes with describe its failings. Lucio.
Re: [9fans] Replacement for find
On Wed, Sep 30, 2015 at 9:26 AM, Wolfgang Helbigwrote: > Hello 9fans, > in Unix I use find() like > $ ed `find . -name blabla.java` > > to edit a file in a deeply nested directory. > > How would you accomplish this with commands from plan9 for user space? > > Greetings, > > Wolfgang Helbig > One way is, du -a | sed '/blabla.java$/!d; s/.* //'
Re: [9fans] Replacement for find
leave away the 9 if you're not running ubuntu with a plan9 theme *sigh*
Re: [9fans] Replacement for find
On 30 September 2015 at 09:01, Wolfgang Helbigwrote: > But I consider it ugly, to ask for the disk usage if you just want to > recursively list all files. > It probably is not ideal, even when the circumlocution is hidden in a script. Perhaps find's syntax and conventions could be improved, though?
Re: [9fans] Replacement for find
> i'd suggest creating an index of all files you have, > sorted into a text file. NetBSD irritates me every Saturday, when it announces that it has refreshed the "locate" database. It is the default in the distribution. I bet "locate" can be ported to Plan 9, I've found most of NetBSD's base code to be very portable. Lucio.
Re: [9fans] Replacement for find
I'm surprised you can even remember find's command line options. If you need to optimize this cause you have a jillion files and think du takes too long i'd suggest creating an index of all files you have, sorted into a text file. Then you only have to use grep filename index.
Re: [9fans] Replacement for find
In Plan 9 a command is needed, that lists recursively all files. Not more and not less. The du(1) command offers too much. I do not want to list the disk usage! The command du(1) from the second edition of plan9 only has two command line options (-a and -b size), whereas du(1) from http://github.com/0intro/plan9 offers twelve options and from http://github.com/9fans/plan9port (aka Plan 9 from User Space) eight options. All three distributions come w/o the man page. The Second Edition seems closest to what is needed — A du -a without the disk usage. Lets call it recurse(1). Its man page reads: NAME: recurse - list recursively the file names SYNOPSIS: recurse name … DESCRIPTION For each directory argument print recursively the filenames in the directory, for each filename argument, repeat the filename. SEE ALSO: ls(1) What do you think of it? With this, du(1) can be simplified by printing the disk usage of its arguments only. Greetings, Wolfgang The sizes of the three sources differ tremendously from > Am 30.09.2015 um 10:23 schrieb hiro <23h...@gmail.com>: > > I'm surprised you can even remember find's command line options. > If you need to optimize this cause you have a jillion files and think > du takes too long i'd suggest creating an index of all files you have, > sorted into a text file. > Then you only have to use grep filename index. >
Re: [9fans] Replacement for find
It is indeed a matter of taste and aesthetics. One reason I prefer Plan 9 is the Bell Labs aesthetics, as opposed to the so called "complete" solution aesthetic of other design philosophies which are slaves to some orthogonality or other, is the small is beautiful aesthetic. I've been using Plan 9 for 25 years and find the du solution quite attractive. I subscribe to the ideas in "Cat -v considered harmful" paper by Pike and prefer to build commands out of a smaller number of primitives. http://harmful.cat-v.org/cat-v/unix_prog_design.pdf By the way, if your using p9p you already have find(1) on the system on which you're hosting the acme execution environment. Sent from my iPad > On Sep 30, 2015, at 4:01 AM, Wolfgang Helbigwrote: > > Thanks for your answers! > But I consider it ugly, to ask for the disk usage if you just want to > recursively list all files.
Re: [9fans] Replacement for find
Both of them exactly fill the gap! Thank you for all your insidefull discussions. Wolfgang > Am 30.09.2015 um 11:58 schrieb Aram Hăvărneanu: > > https://swtch.com/lsr.c > https://github.com/4ad/mgk.ro/blob/master/cmd/lsr/lsr.go > > -- > Aram Hăvărneanu >
Re: [9fans] Replacement for find
On Plan9 it should also be possible to write a virtual overlay file server where creation of a new file triggers the creation of an index entry. On linux you would use inotify for something similar.
Re: [9fans] Replacement for find
Perhaps you could optimize even more by adding a special file-listing instruction to your CPU design.
Re: [9fans] Replacement for find
On Wed, Sep 30, 2015 at 12:07 PM, Steve Simonwrote: > NB: don't use sed or awk, they don't understand the shells > quoting convention for filenames containing frogs. That's a good point. Mark.
Re: [9fans] Replacement for find
https://swtch.com/lsr.c https://github.com/4ad/mgk.ro/blob/master/cmd/lsr/lsr.go -- Aram Hăvărneanu
Re: [9fans] Replacement for find
On Wed Sep 30 01:12:36 PDT 2015, charles.fors...@gmail.com wrote: > On 30 September 2015 at 09:01, Wolfgang Helbigwrote: > > > But I consider it ugly, to ask for the disk usage if you just want to > > recursively list all files. > > > > It probably is not ideal, even when the circumlocution is hidden in a > script. > Perhaps find's syntax and conventions could be improved, though? 9atom has a relative of andrey's find. it takes very few options. the -d and -D options are not easily duplicated with du. ; man find FIND(1) FIND(1) NAME find - recursively list files. SYNOPSIS find [ -1Ddfq ] dir ... DESCRIPTION List each argument. If the argument is a directory recur- sively list it's contents. The default is to list the cur- rent directory. Specifying -d prints only directories, -D prints only files, -f supresses warnings, while -q supresses quoting the output for rc(1). With -1, mount points will not be traversed. SOURCE /sys/src/cmd/find.c SEE ALSO du(1) BUGS Feeping creaturism. - erik
Re: [9fans] Replacement for find
http://doc.cat-v.org/unix/find-history sl
Re: [9fans] Replacement for find
Somewhat late to the party, but I use the following in my profile: fn find {du -a $* |awk '{print $2}'} http://plan9.bell-labs.com/sources/contrib/stallion/profile On Wed, Sep 30, 2015 at 8:20 AM, erik quanstromwrote: > On Wed Sep 30 01:12:36 PDT 2015, charles.fors...@gmail.com wrote: > >> On 30 September 2015 at 09:01, Wolfgang Helbig wrote: >> >> > But I consider it ugly, to ask for the disk usage if you just want to >> > recursively list all files. >> > >> >> It probably is not ideal, even when the circumlocution is hidden in a >> script. >> Perhaps find's syntax and conventions could be improved, though? > > 9atom has a relative of andrey's find. it takes very few options. > the -d and -D options are not easily duplicated with du. > > ; man find > > FIND(1) FIND(1) > > NAME > find - recursively list files. > > SYNOPSIS > find [ -1Ddfq ] dir ... > > DESCRIPTION > List each argument. If the argument is a directory recur- > sively list it's contents. The default is to list the cur- > rent directory. Specifying -d prints only directories, -D > prints only files, -f supresses warnings, while -q supresses > quoting the output for rc(1). With -1, mount points will not > be traversed. > > SOURCE > /sys/src/cmd/find.c > > SEE ALSO > du(1) > > BUGS > Feeping creaturism. > > > - erik >
Re: [9fans] Replacement for find
Is there a C level equivalent of the BSD fts(3) suite of routines? Or even the System V ftw / GLIBC nftw suite? I suspect that having this would save some wheel-reinvention in these kinds of programs. Thanks, Arnold erik quanstromwrote: > On Wed Sep 30 01:12:36 PDT 2015, charles.fors...@gmail.com wrote: > > > On 30 September 2015 at 09:01, Wolfgang Helbig wrote: > > > > > But I consider it ugly, to ask for the disk usage if you just want to > > > recursively list all files. > > > > > > > It probably is not ideal, even when the circumlocution is hidden in a > > script. > > Perhaps find's syntax and conventions could be improved, though? > > 9atom has a relative of andrey's find. it takes very few options. > the -d and -D options are not easily duplicated with du.