[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Sorting directories by size
From: |
Dennis Williamson |
Subject: |
Re: Sorting directories by size |
Date: |
Tue, 24 Aug 2021 09:07:34 -0500 |
On Tue, Aug 24, 2021, 8:46 AM hancooper <hancooper@protonmail.com> wrote:
> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> On Tuesday, August 24, 2021 1:35 PM, hancooper <hancooper@protonmail.com>
> wrote:
>
> > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> > On Tuesday, August 24, 2021 12:52 PM, Alex fxmbsw7 Ratchev
> fxmbsw7@gmail.com wrote:
> >
> > > i guess you didnt set $dir
> > > On Tue, Aug 24, 2021, 14:12 hancooper hancooper@protonmail.com wrote:
> > >
> > > > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> > > > On Tuesday, August 24, 2021 3:31 AM, Kerin Millar kfm@plushkava.net
> > > > wrote:
> > > >
> > > > > On Tue, 24 Aug 2021 02:21:28 +0000
> > > > > hancooper via help-bash@gnu.org wrote:
> > > > >
> > > > > > I have a directory stored in `dir`. I want to store the names of
> > > > > > directories at a particular level
> > > > >
> > > > > > and sort them by size.
> > > > > > I have started with listing the directory names in `dlc` and
> computing
> > > > > > the total number of
> > > > >
> > > > > > directories present. But still have to sort `dlc` by size, the
> with
> > > > > > the biggest first.
> > > > >
> > > > > > My initial plan is to use a command such as `du -h | sort -h`.
> > > > > > daggr=( -mindepth "$depth" -maxdepth "$depth" )
> > > > > > dlc=$( find "$dir" "${daggr[@]}" -type d | tr "\n" " " )
> > > > > > ndr=$( echo "$dlc;" | grep -o " " | wc -l )
> > > > >
> > > > > The last two of these three commands should be jettisoned.
> Further, you
> > > > > ought to be using an array to store the directory names. As you
> appear to
> > > > > be using GNU, consider the following.
> > > > > daggr=(-mindepth "$depth" -maxdepth "$depth")
> > > > > mapfile -td '' dlc < <(find "$dir" "${daggr[@]}" -type d -exec du
> -0 {}
> > > >
> > > > - | sort -zrn | cut -z -f2-)
> > > >
> > > > > ndr=${#dlc[@]}
> > > > > This relies on the fact that GNU du(1), given the -0 option,
> employs an
> > > > > output format of "%d\t%s\0", <size>, <pathname>.
> > > > >
> > > > >
> ----------------------------------------------------------------------------------------------------------------------------------------
> > > > >
> > > > > Kerin Millar
> > > >
> > > > I agree with your assessment. Have seen that I get the following
> errer
> > > > find: ‘’: No such file or directory
> >
> > I would like to have the capability to print the directories with their
> size,
> > in the form of a table (size dir).
>
> Have used the following
>
> sdr=$( find "$src" "${daggr[@]}" -type d -exec du {} + \
> | sort -zrn )
> echo "$sdr"
>
> I am suspicious of the sorted results because I get
>
>
> bash: warning: command substitution: ignored null byte in input
> 17844
> ./01cuneus/articles/detailed/advoc/privasec--2018/privasec--2018--files
> 18636 ./01cuneus/articles/detailed/advoc/privasec--2018
>
> [Snip]
>
> 12 ./01cuneus/articles/short/advoc/opendm
>
> Finally, the display of the sorted list should show the size in
> human readable form.
>
>
Take a look at https://stackoverflow.com/a/5213618 for ideas you might find
useful.
Note that my answer there doesn't properly handle filenames which include
newlines.
>
- Sorting directories by size, hancooper, 2021/08/23
- Re: Sorting directories by size, Kerin Millar, 2021/08/23
- Sorting directories by size, hancooper, 2021/08/24
- Re: Sorting directories by size, Alex fxmbsw7 Ratchev, 2021/08/24
- Sorting directories by size, hancooper, 2021/08/24
- Sorting directories by size, hancooper, 2021/08/24
- Sorting directories by size, hancooper, 2021/08/24
- Re: Sorting directories by size,
Dennis Williamson <=
- Re: Sorting directories by size, Kerin Millar, 2021/08/24
- Sorting directories by size, hancooper, 2021/08/24
- Sorting directories by size, hancooper, 2021/08/24
- Re: Sorting directories by size, Dennis Williamson, 2021/08/24
- Re: Sorting directories by size, Kerin Millar, 2021/08/24
- Sorting directories by size, hancooper, 2021/08/24
- Re: Sorting directories by size, Kerin Millar, 2021/08/24
- Sorting directories by size, hancooper, 2021/08/24
- Re: Sorting directories by size, Kerin Millar, 2021/08/24
- Re: Sorting directories by size, Kerin Millar, 2021/08/24