hogyan nevezhet át több fájlt Linuxon

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
több fájl átnevezése egyszerre Linuxon

több fájl átnevezése egyszerre Linuxon

szoftverkövetelmények és Linux parancssori konvenciók
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.

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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 \;
  6. 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
  7. 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 renameeseté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.

  1. 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/' *
  2. 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
  3. 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' *
  4. 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' *
  5. 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.

  1. 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'
  2. ez a parancs az összes fájlnévben a “foo” első előfordulását “bar” – ra cseréli.
    $ mmv '*foo*' '#1bar#2'
  3. 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 és rejected.log-webserver fájlokat veszi át, és átnevezi őket access-dbserver.log és rejected-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'
  4. ezzel a paranccsal változtassa meg az összes fájlnevet kisbetűkre.
    $ mmv '*' '#l1'
  5. 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.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.