Skip to content

edit

Bulk-edit a metadata field on tracks in your Rekordbox database.

rbe edit [OPTIONS] [TRACK-IDS]... FIELD

FIELD specifies the DjmdContent column to change. Currently Title is the only editable field; more are planned.

--replace supplies the new value. On its own it overwrites the whole field; add --match PATTERN to find that literal text within the field and replace only that portion:

# Rename one track outright
rbe edit --exact-title "Untitled 3" Title --replace "Acid Rain"

# Fix a typo across many titles (substring replacement)
rbe edit --title "Teh" Title --match "Teh" --replace "The" --multi

Guardrails

  • Preview and confirm by default. Without flags, edit shows every planned change and asks once before applying. --interactive confirms each track individually; --dry-run previews without writing; --yes confirms the default choice for all prompts without asking.
  • Single-track by default. When filters match more than one track, edit refuses unless you pass --multi. This prevents an unintentionally broad filter from making unintended edits across your library.
  • Rekordbox running: editing while Rekordbox is open risks corrupting your database. By default edit warns; in a non-interactive mode (e.g. --print ids) it throws an error.

Examples

# Preview a cleanup without touching the database
rbe edit --title "(Original Mix)" Title --match " (Original Mix)" --replace "" --multi --dry-run

# Apply it, confirming each track
rbe edit --title "(Original Mix)" Title --match " (Original Mix)" --replace "" --multi --interactive

# Pipe a search result in and edit those exact tracks
rbe search --playlist "Mislabeled" --print ids | rbe edit Title --match "  " --replace " " --multi --yes

See Filtering for the full filter language.

Reference

rbe edit

Edit a metadata field on tracks in the RekordBox database.

Usage:

rbe edit [OPTIONS] [TRACK_IDS]... {title}

Options:

  --replace TEXT                  The new value to write to the field
                                  [required]
  --match PATTERN                 Find this literal string within the field
                                  value and replace only that portion
  --multi                         Allow editing more than one track (required
                                  when filters match multiple tracks)
  --dry-run                       Show what would change without writing to
                                  the database or filesystem
  -y, --yes                       Skip confirmation prompt
  -i, --interactive               Confirm each item individually before
                                  applying changes
  --track-id TEXT                 Filter by the given Database Track ID
  --title TEXT                    Find track names that include this value
  --exact-title TEXT              Find track names that are exactly this value
  --playlist TEXT                 Find tracks in playlists whose names include
                                  this value
  --exact-playlist TEXT           Find tracks in the plalist whose name is
                                  exactly this value
  --artist TEXT                   Find tracks whose Artist names include this
                                  value
  --exact-artist TEXT             Find tracks whose Artists names are exactly
                                  this value
  --album TEXT                    Find tracks whose Album names include this
                                  value
  --exact-album TEXT              Find tracks whose Album names are exactly
                                  this value
  --path TEXT                     Find tracks whose file paths include this
                                  value
  --exact-path TEXT               Find tracks whose file paths are exactly
                                  this value
  --format [mp3|flac|aiff|wav|m4a]
                                  Find tracks of this format
  --first INTEGER RANGE           Return only the first N results  [x>=1]
  --last INTEGER RANGE            Return only the last N results  [x>=1]
  --match-all                     Results must match all given filters
  --print [silent|ids|info|debug|json]
                                  Configures the kind of console output you
                                  want from the command, if any. Use 'ids' to
                                  pipe a list of resulting content IDs or
                                  'json' to pipe full track records into
                                  another command.
  --database-path PATH            Path to master.db. Bypasses Rekordbox
                                  installation discovery.
  --help                          Show this message and exit.