all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: James TD Smith <ahktenzero@mohorovi.cc>
To: Michael Brand <michael.brand@alumni.ethz.ch>
Cc: emacs-orgmode@gnu.org
Subject: Re: directory tree size browsing with column view
Date: Sat, 24 Oct 2009 16:51:17 +0100	[thread overview]
Message-ID: <20091024155117.GT72276@yog-sothoth.mohorovi.cc> (raw)
In-Reply-To: <4AE304FC.4090608@alumni.ethz.ch>

Hi Michael,

On 2009-10-24 15:45:32(+0200), Michael Brand wrote:
> Hi all,
> 
> I would like to use the column view for browsing a hierarchical tree with a
> summed up property like e. g. the directory sizes (inclusive cluster waste and
> subdirectories from `du -sk`) of a directory tree. Just similar (only
> unsorted) to the upper left pane of this GUI screenshot of WinDirStat here
> http://windirstat.info/images/windirstat.jpg
> 
> Let me make an example how I think to do the same with column view when given
> a directory with the two shell outputs
> 
> ----------------------------------------
> $ ls -lR dir_node
> total 16
> drwxr-xr-x  2 usr  grp      136 Oct 24 12:00 a
> drwxr-xr-x  2 usr  grp      102 Oct 24 12:00 b
> -rw-r--r--  1 usr  grp     9070 Oct 24 13:00 t.txt
> 
> dir_node/a:
> total 2400
> -rw-r--r--  1 usr  grp     4535 Oct 24 12:00 x.txt
> -rw-r--r--  1 usr  grp  1217312 Oct 24 12:00 y.txt
> 
> dir_node/b:
> total 16
> -rw-r--r--  1 usr  grp     4535 Oct 24 12:00 z.txt
> ----------------------------------------
> 
> ----------------------------------------
> $ find dir_node -type d -exec du -sk {} \;
> 1220	dir_node
> 1200	dir_node/a
> 8	dir_node/b
> ----------------------------------------
> 
> For this I would like to have `some software' which uses the path to this
> directory `dir_node' as input and produces the following output file
> 
> ----------------------------------------
> -*- mode: org; eval: (org-columns) -*-
> #+STARTUP: odd hidestars
> #+PROPERTY: size
> #+COLUMNS: %20ITEM %size{+}
> 
> * dir_node
> *** a
>     :PROPERTIES:
>     :size: 1200
>     :END:
>     -rw-r--r--  1 usr  grp     4535 Oct 24 12:00 x.txt
>     -rw-r--r--  1 usr  grp  1217312 Oct 24 12:00 y.txt
> *** b
>     :PROPERTIES:
>     :size: 8
>     :END:
>     -rw-r--r--  1 usr  grp     4535 Oct 24 12:00 z.txt
> *** .
>     :PROPERTIES:
>     :size: 12
>     :END:
>     -rw-r--r--  1 usr  grp     9070 Oct 24 13:00 t.txt
> ----------------------------------------
> 
> Opening this file in org-mode using column view now is comfortable to browse
> and can look e. g. like here
> 
> ----------------------------------------
> ITEM                 | size |
> * dir_node           | 1220 |
> *** a                | 1200 |
>     :PROPERTIES:...
>     -rw-r--r--  1 usr  grp     4535 Oct 24 12:00 x.txt
>     -rw-r--r--  1 usr  grp  1217312 Oct 24 12:00 y.txt
> *** b                | 8    |...
> *** .                | 12   |...
> ----------------------------------------
> 
> where all not of interest can be left hidden and one can see easily that
>   - the directory `a' is by far the largest
>   - most of the disk usage is caused only by the file dir_node/a/y.txt.
>   - etc
> 
> I would be able to implement this `some software' in a shell script (if I
> would take the necessary time some day) but not within Emacs itself which
> would be easier to use and IMHO would not be concerned that much with
> portability issues.
> 
> What do you think?

Have you looked at org-fstree? http://repo.or.cz/w/org-fstree.git

It generates an org tree for the contents of a directory. It doesn't have an
option to include the size or other file attributes as properties as the moment,
but I don't think this would be hard to add. Andreas and I have been working on
it quite a lot over the last week, I'll see if I can add an option which would
do what you want.

James

--
|-<James TD Smith>-<email/ahktenzero@mohorovi.cc>-|

  reply	other threads:[~2009-10-24 15:51 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-24 13:45 directory tree size browsing with column view Michael Brand
2009-10-24 15:51 ` James TD Smith [this message]
2009-10-24 20:52   ` James TD Smith
2009-10-25  8:02     ` Michael Brand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20091024155117.GT72276@yog-sothoth.mohorovi.cc \
    --to=ahktenzero@mohorovi.cc \
    --cc=emacs-orgmode@gnu.org \
    --cc=michael.brand@alumni.ethz.ch \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.