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,
editshows every planned change and asks once before applying.--interactiveconfirms each track individually;--dry-runpreviews without writing;--yesconfirms the default choice for all prompts without asking. - Single-track by default. When filters match more than one track,
editrefuses 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
editwarns; 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.