Kuinka nimetä useita tiedostoja kerralla Linuxissa
useiden tiedostojen uudelleennimeäminen Linuxissa kuulostaa yksinkertaiselta tehtävältä, mutta siitä voi tulla melko monimutkainen. On mahdollista nimetä tiedostoja uudelleen massoittain mv
– komennolla ja hieman bash-skriptausta käyttäen, tai käyttää mmv
ja rename
apuohjelmia – joita ei ole tavallisesti asennettu oletusarvoisesti. Tässä oppaassa näytämme erilaisia esimerkkejä useiden tiedostojen uudelleennimeämisestä kerralla Linux-komentoriviltä.
nimeä useita tiedostoja uudelleen MV
mv
– komento on Linuxin oletusosa ja sitä voidaan käyttää useiden tiedostojen uudelleennimeämiseen, mutta tehtävän suorittamiseen tarvitaan hieman skriptausta. Jotkut esimerkit perustuvat myös muihin Linux-oletusapuohjelmiin, kuten ls
, find
, xargs
, jne.
Esimerkki 1. Muuta kaikki tiedostonimet pieniksi kirjaimiksi.
$ for f in `ls | grep `; do mv "$f" "`echo $f | tr 'A-Z' 'a-z'`"; done
Esimerkki 2. Muuta kaikki tiedostonimet isoiksi kirjaimiksi.
$ for f in `ls | grep `; do mv "$f" "`echo $f | tr 'a-z' 'A-Z'`"; done
esimerkki 3. Muuta kaikki tiedostopäätteet .jpeg
: stä .jpg
: iin.
$ for f in *.jpeg; do mv "$f" "${f%.jpeg}.jpg"; done
esimerkki 4. Poista .bak
tiedostopääte kaikista tiedostoista.
$ for f in `ls *.bak`; do mv $f ${f%.*}; done
esimerkki 5. Lisää .bak
tiedostopääte kaikkiin tiedostoihin.
$ for f in `ls`; do mv $f $f.bak; done
esimerkki 6. Käytä xargs
liittääksesi ”_backup” jokaiseen tiedostoon.
$ ls * | xargs -I{} mv {} {}_backup
esimerkki 7. Käytä komentoja find
, sed
ja mv
muuttaaksesi kaikki tiedostot pieniksi kirjaimiksi.
$ find . -maxdepth 1 -type f -name '**'|sed -n 's/\(.*\/\)\(.*\)/mv -n -v -T \L/p'|sh
esimerkki 8. Käytä komentoja find -exec
ja mv
liittääksesi ”_backup” jokaiseen .log
– päätteiseen tiedostoon.
$ find . -type f -name "*.log" -exec mv {} {}_backup \;
esimerkki 9. Samanlainen kuin edellisessä esimerkissä, mutta korvaa Findin -exec
vaihtoehto xargs
liittämällä ”_backup” jokaiseen .log
– päätteiseen tiedostoon.
$ find . -type f -name '*log' -print0 | xargs --null -I{} mv {} {}_backup
esimerkki 10. Korvaa kuvio jokaisessa tiedostossa käyttämällä mv
ja sed
. Tämä korvaa ”IMG”: n” lomalla ” jokaisessa .jpg
– tiedostossa.
$ for f in *.jpg; do mv "$f" "`echo "$f" | sed s/IMG/Vacation/`"; done
esimerkki 11. Lisää nykyinen aikaleima kaikkiin tiedostoihin, jotka päättyvät .log
. Tällöin esimerkiksi access.log
muuttuisi access_20210418040151.log
.
$ for f in *.log; do mv "$f" "${f%.log}"_`date +%Y%m%d%H%M%S`.log; done
Uudelleennimeä useita tiedostoja uudelleennimetä
uudelleennimeämisapuohjelma tekee bulk-uudelleennimeämistehtävistämme hieman helpompia, mutta apuohjelmaa ei ole aina asennettu oletusarvoisesti. Asenna se järjestelmäsi paketinhallinnan avulla alla olevalla komennolla.
Ubuntu, Debian ja Linux Mint:
$ sudo apt install rename
Fedora, AlmaLinux, CentOS ja RHEL:
$ sudo dnf install prename
Arch Linux ja Manjaro:
$ sudo pacman -S perl-rename
-n
– asetusta rename
– komennoissasi, jos haluat esikatsella muutoksia ennen niiden tekemistä.Esimerkki 1. Muuta kaikki tiedostonimet pieniksi kirjaimiksi.
$ rename 'y/A-Z/a-z/' *
Esimerkki 2. Muuta kaikki tiedostonimet isoiksi kirjaimiksi.
$ rename 'y/a-z/A-Z/' *
esimerkki 3. Poista .bak
– pääte kaikista tiedostoista.
$ rename 's/\.bak$//' *.bak
esimerkki 4. Muuta kaikkien .jpeg
– tiedostojen laajennus muotoon .jpg
.
$ rename 's/\.jpeg/\.jpg/' *.jpeg
esimerkki 5. Muuta kaikkien tiedostojen pääte .JPG
pieniksi kirjaimiksi .jpg
.
$ rename 's/\.JPG/\.jpg/' *.JPG
esimerkki 6. Poista tyhjät välilyönnit kaikista tiedostonimistä.
$ rename "s/ *//g" *
esimerkki 7. Korvaa tyhjät kohdat alaviivoilla kaikille tiedostonimille.
$ rename 's/\s+/_/g' *
esimerkki 8. Kirjoita tiedostonimien ensimmäinen kirjain isolla alkukirjaimella.
$ rename 's/\b(\w)/\U/g' *
esimerkki 9. Korvaa kuvio jokaisessa tiedostonimessä. Tämä komento korvaa ”IMG” – komennon ”Vacation” – komennolla jokaisessa .jpg
– tiedostossa.
$ rename 's/IMG/Vacation/' *.jpg
esimerkki 10. Poista osa tiedostonimestä. Tämä komento poistaa ”IMG_” jokaisesta .jpg
– tiedostosta.
$ rename 's/IMG_//' *.jpg
esimerkki 11. Lisää .bak
– laajennus kaikkiin tiedostoihin.
$ rename 's/(.*)/.bak/' *
nimeä useita tiedostoja mmv: llä
mmv-apuohjelma on erinomainen tiedostojen uudelleennimeämisessä, joka perustuu kaavoihin, kuten merkkijonojen poistamiseen tai lisäämiseen kaikkiin tiedostoihin, tai tiedostojen nimien osien uudelleen järjestämiseen. Sitä ei yleensä asenneta oletusarvoisesti, mutta voit käyttää alla olevaa sopivaa komentoa mmv: n asentamiseen järjestelmäsi paketinhallinnan avulla.
Ubuntu, Debian ja Linux Mint:
$ sudo apt install mmv
Fedora, AlmaLinux, CentOS ja RHEL:
$ sudo dnf install mmv
Arch Linux ja Manjaro (asentaa AUR):
$ git clone https://aur.archlinux.org/mmv.git$ cd mmv/$ makepkg -si
-n
– asetusta mmv
– komennoissasi, jos haluat esikatsella muutoksia ennen niiden tekemistä. Esimerkki 1. Muuta kaikkien .jpeg
– tiedostojen laajennus muotoon .jpg
.
$ mmv '*.jpeg' '#1.jpg'
Esimerkki 2. Muuta kaikki tiedostonimet pieniksi kirjaimiksi.
$ mmv '*' '#l1'
esimerkki 3. Muuta kaikki tiedostonimet isoiksi kirjaimiksi.
$ mmv '*' '#u1'
esimerkki 4. Järjestä tiedostonimen osat uudelleen. Tämä komento muuttaa musiikkitiedostoja, joiden kuvio on Song-Artist.mp3
Artist-Song.mp3
.
$ mmv '*-*.mp3' '#2-#1.mp3'
esimerkki 5. Korvaa ensimmäinen esiintyminen ” IMG ”” loma ” kaikissa tiedostonimissä.
$ mmv '*IMG*' '#1Vacation#2'
esimerkki 6. Lisää etuliite jokaiseen tiedostonimeen. Tämä komento edeltää ”backup_” jokaiseen .log
– tiedostoon.
$ mmv '*.log' 'backup_#1.log'
esimerkki 7. Lisää loppuliite jokaiseen tiedostonimeen. Tämä komento liittää ”_backup” jokaiseen .log
– tiedostoon.
$ mmv '*.log' '#1.log_backup'
esimerkki 8. Poista etuliite ”IMG_” kaikista .jpg
tiedostoista.
$ mmv 'IMG_*.jpg' '#1'
esimerkki 9. Poista ”_oleta” – pääte kaikista tiedostoista.
$ mmv '*_old' '#1'
Tiedostojen uudelleen nimeäminen GUI: n kautta
jos komentorivi ei ole oikeasti sinun juttusi, on mahdollista nimetä useita tiedostoja kerralla GUI: n kautta. Yksi parhaista työvälineistä on Thunarin mukana tuleva Bulk Rename-sovellus.
Thunar on Xfce: n oletustiedostoselain, mutta sen voi asentaa riippumatta siitä, mitä työpöytäympäristöä käyttää. Jos käytät jo Xfce: tä tai Thunaria, Bulk Rename on jo osa järjestelmääsi. Muussa tapauksessa asenna se järjestelmäsi paketinhallinnan avulla alla olevalla komennolla.
Ubuntu, Debian ja Linux Mint:
$ sudo apt install thunar
Fedora, AlmaLinux, CentOS ja RHEL:
$ sudo dnf install thunar
Arch Linux ja Manjaro:
$ sudo pacman -S thunar
Vaihe 1. Kun Thunar on asennettu, Etsi ja avaa Bulk-nimeä apuohjelma.
Vaihe 2. Napsauta plus-merkkiä lisätäksesi tiedostoja, jotka haluat nimetä uudelleen.
Vaihe 3. Valitse vaihtoehtojen luettelosta, mitä haluat tehdä tiedostoille. Voit muuttaa ne kaikki isoiksi tai pieniksi kirjaimiksi, lisätä päivämäärän ja kellonajan, lisätä tekstin tiettyyn kohtaan, lisätä automaattisen numeroinnin, korvata merkkejä tai etsiä ja korvata tiettyjä kuvioita muun muassa tiedostonimissä. Alla olevassa esimerkissä olemme liittäneet .txt
– tiedostopääteen kaikkiin tiedostoihimme.
Vaihe 4. Kun olet tyytyväinen esikatsellut Nimenmuutokset” uusi nimi ”sarake, klikkaa” nimeä tiedostot ” suorittaa irtotavarana uudelleennimeäminen.
useiden tiedostojen uudelleennimeäminen WSL: ssä
jos käytät Windows-alijärjestelmää Linuxissa, jotkin yllä olevat komennot eivät toimi, erityisesti ne, jotka edellyttävät tiedostojen muuttamista pieniksi tai isoiksi. Windows on kirjainherkkä, joten se pitää File.txt
, file.txt
ja FILE.txt
kaikkia samana tiedostona.
saat yksinkertaisesti virheen, että tiedosto on jo olemassa, jos yrität nimetä FILE.txt
file.txt
. Välttääksesi tämän ongelman, käytä jotakin seuraavista esimerkeistä.
Esimerkki 1. Muuta kaikkien tiedostojen suuraakkoset .JPG
pieniksi kirjaimiksi .jpg
(käyttäen oletusapuohjelmia).
$ for f in *.JPG; do mv "$f" "${f%.JPG}.jpgaux"; done && for f in *.jpgaux; do mv "$f" "${f%.jpgaux}.jpg"; done
Esimerkki 2. Muuta isojen sanojen laajennus .JPG
pieniksi kirjaimiksi .jpg
kaikille tiedostoille (uudelleennimeä apuohjelma käyttäen).
$ rename 's/\.JPG$/\.jpgaux/' *.JPG && rename 's/\.jpgaux$/\.jpg/' *.jpgaux
esimerkki 3. Muuta isojen sanojen laajennus .JPG
pieniksi kirjaimiksi .jpg
kaikille tiedostoille (käyttäen mmv-apuohjelmaa).
$ mmv '*.JPG' '#1.jpgaux' && mmv '*.jpgaux' '#1.jpg'
esimerkki 4. Muuta kaikki tiedostonimet pieniksi kirjaimiksi (käyttämällä oletusapuohjelmia).
$ for f in `ls | grep `; do mv "$f" "`echo $f.aux | tr 'A-Z' 'a-z'`"; done && for f in `ls *.aux`; do mv $f ${f%.*}; done
esimerkki 5. Muuta kaikki tiedostonimet pieniksi kirjaimiksi (käyttäen mmv-apuohjelmaa).
$ mmv '*' '#l1.aux' && mmv '*.aux' '#1'
Conclusion
on mahdollista käyttää oletusarvoisia bash-apuohjelmia kaikkiin bulk-uudelleennimeämisiin Linuxissa, mutta uudelleennimeämiset ja mmv-työkalut tekevät siitä paljon helpompaa. Voimme myös käyttää Thunarin Bulk Rename-sovellusta, Kun haluamme käyttää GUI: ta komentorivin yli. Tämän oppaan esimerkit kattavat laajan valikoiman uudelleennimeämiskenaarioita, ja ne voidaan helposti sovittaa muihin tarpeisiin.