Skip to main content
`Ctrl`+`K`

# 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

2. `beet [list|ls] [QUERY] '<n'` returns the head of a query

There are two differences in behavior:

1. 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+