List directory files starting from a specific name.
lsfrom
lists the entries of a directory starting from a particular file and then the files after it with respect to locale collation ordering. This can be useful for example for continuing a command or script in a directory after a failure.
lsfrom
lsfrom
lists the files and dirs in a directory starting from the given filename or the first file after that if the file does not exist, using the current locale collation order.
$ ls
A a B C
$ echo $(lsfrom a)
a B C
$ lsfrom a/
a
B
C
$ lsfrom /sy
/sys
/tmp
/usr
/var
It can be useful for continuing a script on the entries of a directory after a failure, etc:
$ myscript.sh $(lsfrom next)
or only running a command on a subrange of files in a directory.
Usage
$ lsfrom --version
1.0
$ lsfrom -h
List directories files starting from file
Usage: lsfrom [--version] [-s|--strict] [-A|--all] [-a|--after]
[-u|--until LASTFILE] [-b|--before] STARTFILE
lsfrom lists the files in a directory that follow from the given file
Available options:
-h,--help Show this help text
--version Show version
-s,--strict fail if specified file(s) do not exist
-A,--all include hidden (dot) files
-a,--after files after STARTFILE [default: from STARTFILE]
-u,--until LASTFILE files until FILE
-b,--before files before LASTFILE (only affects --until)
Requirements
It uses ls
to list files with locale sorting and requires the -A
option to exclude .
and ..
(ie coreutils). It also uses sort
when injecting missing marker files. It has been tested on Linux.
Installation
stack install lsfrom
or cabal install lsfrom
.
Contribute or feedback
lsfrom is distributed with BSD license and the project is hosted at https://github.com/juhp/lsfrom.