help-bash
[Top][All Lists]
Advanced

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

Loop with files coming through sorted by name


From: tolugboji
Subject: Loop with files coming through sorted by name
Date: Sat, 16 Oct 2021 17:43:29 +0000

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐

On Saturday, October 16th, 2021 at 5:32 PM, Daniel Mills 
<danielmills1@gmail.com> wrote:

> On Sat, Oct 16, 2021 at 12:17 PM tolugboji tolugboji@protonmail.com wrote:
>
> > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> >
> > On Saturday, October 16th, 2021 at 1:31 PM, Greg Wooledge <
> >
> > greg@wooledge.org> wrote:
> >
> > > On Fri, Oct 15, 2021 at 08:31:04PM -0700, Seth David Schoen wrote:
> > >
> > > > You can thus do
> > > >
> > > > readarray -d "" myarray < <$(find . -type f -print0 | sort -zn)
> > > >
> > > > for i in "${myarray[@]}"; do
> > > >
> > > > arbitrary shell stuff with "$i"
> > > > ===============================
> > > >
> > > > done
> > >
> > > You've got an extraneous $ in there. It's <(find...) not <$(find...).
> >
> > In general, files are described by
> >
> > ${fnam}-NUM.png
> >
> > Would it be possible to sort the files by number if I have the situation
> >
> > schimmel-1.png
> >
> > schimmel-2.png
> >
> > ...
> >
> > schimmel-13.png
> >
> > The number of png files could be in the thousands.
>
> find ... -print0 | sort -zt '-' -k 2,2n | while IFS= read -rd '' file; do
>
> ...

Almost there except that there could be a number of '-' separators in the 
filename such as

2021-schimmel-title-1.png
2021-schimmel-title-2.png
...
2021-schimmel-title-356.png

and the sorting would always occur on the last field.

Additionally I would also like to handle situations like this one

2021-schimmel-title-001.png
2021-schimmel-title-002.png
...
2021-schimmel-title-356.png




reply via email to

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