a fájlok átnevezését Linux rendszereken általában a mv
(áthelyezés) parancs kezeli. A szintaxis csak mv old.txt new.txt
. Elég egyszerű, de mi van, ha több fájlunk van, amelyeket egyszerre át kell nevezni, akár több százat is? Az alapértelmezett mv segédprogram nem tudja kezelni több fájl átnevezését, hacsak nem csinálunk egy kis szkriptet. Vannak más segédprogramok is, amelyeket telepíthetünk a probléma megoldására, például rename
és mmv
.
ebben az útmutatóban bemutatjuk, hogyan használhatja a mv
parancsot, valamint a rename
és mmv
eszközöket több fájl átnevezéséhez a Linux disztribúción. Több példát fogunk áttekinteni, így megértheti a szintaxist és az egyes módszerek használatát.
ebben az oktatóanyagban megtudhatja:
- hogyan nevezzünk át egyszerre több fájlt az mv paranccsal
- Hogyan telepítsük az átnevezést nagyobb Linux disztribúciókra
- Hogyan telepítsük az mmv-t nagyobb Linux disztribúciókra
- hogyan használjuk az mmv-t parancspéldákon keresztül
- hogyan használjuk az átnevezést parancspéldákon keresztül
Kategória | követelmények, egyezmények vagy szoftververzió Használt |
---|---|
rendszer | bármely Linux disztró |
szoftver | mv, átnevezés, mmv |
Egyéb | privilegizált hozzáférés a Linux rendszerhez rootként vagy a sudo paranccsal. |
konvenciók | # – a megadott linux parancsokat root jogosultságokkal kell végrehajtani, akár közvetlenül root felhasználóként, akár a sudo parancs$ használatával-a megadott linux parancsokat rendszeres, nem privilegizált felhasználóként kell végrehajtani |
több fájl átnevezése egyszerre az MV paranccsal
több fájl átnevezése az mv paranccsal könnyebb, ha ismer egy kis Bash szkriptet. Vessen egy pillantást az alábbi példákra, hogy megnézze a módszer néhány általános használatát.
- a következő parancs hozzáad egy .txt fájl kiterjesztése az összes fájlt a jelenlegi munkakönyvtárban.
$ for i in $( ls ); do mv $i $i.txt; done
- ezzel a paranccsal távolíthat el egy fájlkiterjesztést az összes fájlból.
$ for i in $( ls *.txt ); do mv $i ${i%.*}; done
- minden fájl fájlkiterjesztését megváltoztathatjuk. A következő parancs megváltoztatja az összes fájlt a .jelentkezzen kiterjesztése .txt.
$ for i in *.log; do mv -- "$i" "${i%.log}.txt"; done
- a find paranccsal együtt a
-exec
opcióval vagy az xargs paranccsal egyszerre több fájlt is átnevezhet. Ez a parancs hozzáfűzi .bak minden olyan fájlhoz, amely a “fájl”mintával kezdődik.$ find . -type f -name 'file*' -print0 | xargs --null -I{} mv {} {}.bak
- ez a parancs a find és a
-exec
opciót használja a “_backup” hozzáfűz minden fájlhoz, amely a .txt kiterjesztés.$ find . -name "*.txt" -exec mv {} {}_backup \;
- az xargs-t is használhatjuk ugyanezt. Ez a parancs elfogadja a
ls
parancs szabványos bemenetét, majd az xargs segítségével hozzáfűzheti a” _backup ” fájlt az összes fájlhoz, amely a .txt kiterjesztés.$ ls *.txt | xargs -I{} mv {} {}_backup
- az összes fájl módosítása a .txt a jelen könyvtárban, hogy csak kisbetűkkel rendelkezzen, ez a parancs elvégzi a munkát.
$ for i in `ls *.txt`; do mv "$i" "`echo $i | tr '' ''`"; done
ennek a módszernek az az előnye, hogy nincs szükségünk semmilyen extra Linux szoftverre – csak a natív mv segédprogramot használjuk, néha pedig LS, find vagy xargs. Amint azonban ezekben a példákban láttuk, meglehetősen bonyolult lehet valami egyszerű, például néhány fájl átnevezése. Nézze meg az alábbi egyéb módszereket, hogy megnézze a telepítést igénylő kényelmesebb lehetőségeket.
Install rename utility
lehet, hogy a Linux disztribúció alapértelmezés szerint már telepítette a rename
programot. Csak abban az esetben, ha még nincs telepítve, az alábbi megfelelő paranccsal telepítheti a rendszer csomagkezelőjén keresztül.
az Átnevezés telepítése Ubuntu, Debian és Linux Mint rendszerre:
$ sudo apt install rename
az Átnevezés telepítése CentOS, Fedora, AlmaLinux és Red Hat rendszerekre:
$ sudo dnf install prename
az Átnevezés telepítése Arch Linuxra és Manjaro-ra:
$ sudo pacman -S perl-rename
parancs példák átnevezése
a rename
parancs elfogadja a perl kifejezést a tényleges átnevezéshez. Ha már ismeri ezt a szintaxist, akkor az Átnevezés nagyon könnyen használható. Ha nem, ne aggódjon, az alábbiakban van néhány példa, amelyek segítenek megérteni.
itt összeállítottuk a leggyakoribb forgatókönyveket, amelyeket egyszerre több fájl átnevezésére lenne szükség. Ezek a parancsok feltételezik, hogy az átnevezni kívánt fájlok a jelenlegi munkakönyvtárban vannak. Bármikor megadhatja a többi könyvtár elérési útját, ha szeretné.
néhány opció használható a rename
esetén. A -n
opció megmutatja, hogy az Átnevezés milyen változtatásokat fog végrehajtani, anélkül, hogy ténylegesen elvégezné a változtatásokat. Ez segít elkerülni a nemkívánatos változásokat. A -v
(részletes) opció kinyomtatja a sikeresen átnevezett fájlok nevét.
- ez a parancs átnevezi a nagybetűs fájlokat kisbetűre.
$ rename 'y/A-Z/a-z/' *
vagy a kisbetűk nagybetűvé alakításához:
$ rename 'y/a-z/A-Z/' *
- egy csomó fájl kiterjesztésének megváltoztatásához használja a következő szintaxist. Ez a konkrét példa átalakul .log fájlokat .txt fájlok.
$ rename 's/\.log$/\.txt/' *.log
- az egyes fájlnevek első betűjének nagybetűs írásához használja a következő parancsot.
$ rename 's/\b(\w)/\U/g' *
- az összes üres szóköz eltávolításához a fájlnevekből hajtsa végre ezt a parancsot.
$ rename "s/ *//g" *
vagy a szóközök aláhúzással történő helyettesítésére:
$ rename 's/\s+/_/g' *
- fájlkiterjesztés eltávolításához egy csomó fájlból használja a következő szintaxist. Ez a példa eltávolítja a .bak kiterjesztés.
$ rename 's/\.bak$//' *.bak
Install mmv utility
az alábbi megfelelő paranccsal telepítheti az mmv-t a rendszer csomagkezelőjén keresztül.
az mmv telepítése Ubuntu, Debian és Linux Mint rendszerre:
$ sudo apt install mmv
az mmv telepítése CentOS, Fedora, AlmaLinux és Red Hat rendszerekre:
$ sudo dnf install mmv
az mmv telepítése Arch Linuxra és Manjaróra:
$ git clone https://aur.archlinux.org/mmv.git$ cd mmv/$ makepkg -si
mmv parancs példák
az mmv legvonzóbb tulajdonsága, hogy sok fájlt könnyen átnevezhet a parancs helyettesítő karaktereinek elfogadásával. Ez lehetővé teszi, hogy könnyen hozzáfűzni vagy eltávolítani bizonyos mintákat fájlneveket, vagy akár rendezni szöveget a neveket. Nézze meg az alábbi példákat, hogy megtanulja az mmv eszköz szintaxisát, és tekintse meg a leggyakoribb parancsokat, amelyekkel együtt futhat. Ne feledje, hogy az mmv -n
opciójával megtekintheti a változásokat.
- ezzel a példával módosíthatja a fájlkiterjesztést egy csomó fájlon. Ez a parancs megváltoztatja az összes kiterjesztésű fájlt .htm hogy .html.
$ mmv '*.htm' '#1.html'
- ez a parancs az összes fájlnévben a “foo” első előfordulását “bar” – ra cseréli.
$ mmv '*foo*' '#1bar#2'
- a következő parancs áttekintést ad arról, hogyan lehet az mmv segítségével átrendezni a fájlnév részeit. Ez a példa a
access.log-dbserver
ésrejected.log-webserver
fájlokat veszi át, és átnevezi őketaccess-dbserver.log
ésrejected-webserver.log
fájlokra. Ahhoz, hogy ez működjön, csak egy következetes mintára van szükségünk, mint például a kötőjel és a pont ebben az esetben.
$ mmv '*.log-*' '#1-#2.log'
- ezzel a paranccsal változtassa meg az összes fájlnevet kisbetűkre.
$ mmv '*' '#l1'
- ezzel szemben módosítsa a fájlok nevét az összes nagybetűre.
$ mmv '*' '#u1'
záró gondolatok
ebben az útmutatóban számos különböző módszert tanultunk meg több fájl egyidejű átnevezésére Linuxon. Számos parancssori példát is láttunk, amelyek sok különböző forgatókönyvet lefedhetnek, vagy könnyen adaptálhatók hasonló helyzetekhez. A tömeges átnevezés történhet natív bash segédprogramokon keresztül, mint például az mv, az ls, az xargs és a find, vagy telepíthetjük az mmv vagy az Átnevezés segédprogramot, hogy kicsit könnyebbé tegyük az életünket. Minden módszernek megvannak az erősségei és gyengeségei, ezért használja azt, amelyik szerinted a legkényelmesebb az Ön számára.