emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] directory tree size browsing with column view


From: James TD Smith
Subject: Re: [Orgmode] directory tree size browsing with column view
Date: Sat, 24 Oct 2009 16:51:17 +0100
User-agent: Mutt/1.5.20 (2009-06-14)

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/address@hidden>-|




reply via email to

[Prev in Thread] Current Thread [Next in Thread]