Limit Query Plugin#
limit is a plugin to limit a query to the first or last set of results. We
also provide a query prefix '<n' to inline the same behavior in the list
command. They are analogous to piping results:
$ beet [list|ls] [QUERY] | [head|tail] -n n
There are two provided interfaces:
1. beet lslimit [--head n | --tail n] [QUERY] returns the head or tail of a
query
beet [list|ls] [QUERY] '<n'returns the head of a query
There are two differences in behavior:
The query prefix does not support tail.
2. The query prefix could appear anywhere in the query but will only have the
same behavior as the lslimit command and piping to head when it appears
last.
Performance for the query previx is much worse due to the current singleton-based implementation.
So why does the query prefix exist? Because it composes with any other
query-based API or plugin (see Queries). For example, you can
use the query prefix in smartplaylist (see Smart Playlist Plugin) to
limit the number of tracks in a smart playlist for applications like most played
and recently added.
Configuration#
Enable the limit plugin in your configuration (see Using Plugins).
Examples#
First 10 tracks
$ beet ls | head -n 10
$ beet lslimit --head 10
$ beet ls '<10'
Last 10 tracks
$ beet ls | tail -n 10
$ beet lslimit --tail 10
100 mostly recently released tracks
$ beet lslimit --head 100 year- month- day-
$ beet ls year- month- day- '<100'
$ beet lslimit --tail 100 year+ month+ day+