Kirjoittaja Aihe: Voisiko joku tehdä minulle skriptin, jolla saisin muutettua tiedostonimiä?  (Luettu 55 kertaa)

1 Jäsen ja 2 Vierasta katselee tätä aihetta.

Poissa RaijaR

  • Jäsen
  • Viestejä: 1778
  • Sukupuoli: Nainen
Minulla on kohtuulisen paljon proge- ja hevi-musikkia tallennetuna tietokoneelle, kun tuli hurahdettua em. musiikkiin jo 70-luvun alussa.

Olen kopionut musiikitiedostoja tietokoneen hakemistoon, joka on toistaiseksi nimetty musiikki/äää.
Koska vuosien saatossa on tullut nimettyä tiedostoja vähän niin sun näin, niin pyydän, josko joku ystävällisesti voisi tehdän skriptin, jolla nimet voisi vaihtaa alkuperäiseksi :). Itse en osaa.

Homma ei pitäisi olla turhan ongelmallinen eli tiedostonimen alusta pitäisi poistaa vain numerot.  ;)
eli esim. "01 - " pois nimen edestä.


Poissa SuperOscar

  • Käännösryhmä
  • *
  • Viestejä: 1056
  • Sukupuoli: Mies
  • Tänään täällä, huomenna poissa
    • Legisign.org
Minusta järkevintä sinun olisi asentaa KRename, jolla voisit helposti varmistaa, että uudet nimet menevät oikein ennen kuin mitään tehdään.

Mutta tässä ratkaisut Pythonille ja Zsh:lle.

Python-versio haluaa muutettavien tiedostojen nimet parametreiksi:

Koodia: [Valitse]
#!/usr/bin/env python3

import sys
import os
import re

pat = re.compile(r'^(\d+)\s-\s(.+)$')
for name in sys.argv[1:]:
    m = pat.match(name)
    if m:
        _, new_name = m.groups()
        print(f'{name} -> {new_name}')
        try:
            os.rename(name, new_name)
        except OSError:
            print('VIRHE!')

Zsh-versio ei vaadi parametreja ja hakee vain tiedostonimiä, jotka alkavat numerolla ja päättyvät .flac, .mp3 tai .ogg:

Koodia: [Valitse]
#!/bin/zsh

local name new_name

for name in <->*.(flac|mp3|ogg); do
    new_name=${name##<-> - }
    mv -v $name $new_name
done
pöytäkone 1, kannettavat 1–3, NUC: Debian GNU/Linux 13;  pöytäkone 2: OpenBSD 8.0; RPi: Alpine Linux 3.24

Poissa harmie

  • Valvoja
  • *
  • Viestejä: 2876
  • Sukupuoli: Mies
Itse olen käyttänyt MusicBrainz Picard nimistä ohjelmaa. Sillä saa netistä haettua albumin tiedot ja se samlla laittaa ne metadataan niin sitä voi hyödyntää sitten monessa sovelluksessa.
Toki tämä tapa on työläämpi kun pelkkä tiedoston uudelleen nimeäminen, mutta lopussa kiitos seisoo.