Bevezetés

a Linux számos lehetőséget kínál a fájlok átnevezésére, beleértve a grafikus felhasználói felület és a több dedikált terminálparancsot. Ez viszonylag egyszerűvé teszi az egyes fájlok átnevezését, de kihívást jelenthet több fájl átnevezése egyszerre.

ebben az oktatóanyagban különböző parancsokat fogunk áttekinteni, amelyeket a Linux terminálon használhat a fájlok átnevezésére Linux alatt.

a fájlok átnevezése Linuxban

előfeltételek

  • Linux disztribúciót futtató rendszer
  • sudo jogosultságokkal rendelkező fiók
  • hozzáférés a terminál ablakához/parancssorához
  • hozzáférés egy szövegszerkesztőhöz, például Vim vagy Nano

fájlok átnevezése az mv paranccsal

a Linux (Move) paranccsal fájlokat és könyvtárakat lehet áthelyezni a terminálról. A következő szintaxist használja:

mv 

ha a mv parancs használatakor célkönyvtárat ad meg, a forrásfájl arra a könyvtárra kerül. Ha a cél egy másik fájlnév, akkor a mv parancs átnevezi a forrásfájlt erre a névre.

Megjegyzés: Tudjon meg többet az mv parancs használatáról a könyvtárak Linuxban történő mozgatásáról szóló útmutatónkban.

egyetlen fájl átnevezése az MV paranccsal

a mv parancs használata alapértelmezett szintaxisával lehetővé teszi egyetlen fájl átnevezését:

mv 

például, ha át akarjuk nevezni example1.txt be example2.txt, mi használnánk:

mv example1.txt example2.txt

mivel nincs kimenet, ha a parancs sikeres, a ls parancsot használjuk annak ellenőrzésére, hogy a név megváltozott-e:

ls -l
egyetlen fájl átnevezése az mv paranccsal

több fájl átnevezése az MV paranccsal

önmagában a mv parancs egyetlen fájlt nevez át. Más parancsokkal való kombinálása azonban lehetővé teszi több fájl átnevezését egyszerre.

az egyik módszer a find paranccsal több hasonló nevű fájlt jelölhet ki, majd a mv paranccsal nevezheti át őket:

find . -depth -name "" -exec sh -c 'f="{}"; mv -- "$f" "${f%}"' \;

ezzel a szintaxissal a find parancs az aktuális fájlnév egy elemét határozza meg Keresési paraméterként. Ezután a -exec végrehajtja a mv parancsot minden olyan fájlon, amely megfelel a keresésnek, megváltoztatva az aktuális fájlneveket az újra.

például, ha van példa1.txt, example2.txt és example3.txt és szeretné megváltoztatni a kiterjesztést .pdf:

find . -depth -name "*.txt" -exec sh -c 'f="{}"; mv -- "$f" "${f%.txt}.pdf"' \;
több fájl átnevezése a find és mv parancsokkal

egy másik módszer a mv parancs használata a <strong>for</strong> hurok részeként egy bash szkriptben.

ugyanezt a példát használva kezdje el létrehozni és megnyitni egy bash szkriptfájlt egy szövegszerkesztővel, például a Nano-val:

sudo nano rename_files.sh

Megjegyzés: Tudjon meg többet a Bash parancsfájlok használatáról a fájlok és könyvtárak kezelésére Linuxban.

adja hozzá a következő sorokat a szkripthez:

#!/bin/bashfor f in *.txt; do mv -- "$f" "${f%.txt}.pdf"done

a fenti szkriptben:

  • az első sor arra utasítja a szkriptet, hogy keresse meg az aktuális könyvtár összes fájlját.txt.
  • a második sor a mv parancsot használja minden talált fájlon a.txt kiterjesztés .pdf.
  • a harmadik sor véget vet a hurok szegmensnek.

nyomja meg a Ctrl+X billentyűkombinációt, majd írja be az Y billentyűt, majd nyomja meg az Enter billentyűt a parancsfájl módosításainak mentéséhez és a kilépéshez.

használja a sh parancsot a parancsfájl végrehajtásához:

sh rename_files.sh
több fájl átnevezése bash szkript segítségével

fájl átnevezése a rename paranccsal

a rename paranccsal több fájlt vagy könyvtárat lehet átnevezni Linuxban. Több funkciót kínál, mint a mv parancs, de használata nagyobb kihívást jelenthet, mivel alapvető ismereteket igényel a Perl kifejezésekről.

a

átnevezés parancs telepítése sok Linux disztribúción a rename parancs alapértelmezés szerint nem érhető el. Ha a rendszeréből hiányzik a rename parancs, telepítse a következővel:

  • Ubuntu és Debian esetén a sudo apt install rename
  • CentOS és Fedora esetén a sudo yum install prename
  • Arch Linux esetén a sudo pacman -S átnevezés

Parancsszintaxis és opciók átnevezése

a Perl reguláris kifejezéseknek három típusa van: match, substitute és lefordítani. A rename parancs helyettesítő és fordító kifejezéseket használ a fájl-és könyvtárnevek módosításához.

helyettesítő kifejezések cserélje ki a fájlnév egy részét egy másik karakterláncra. A következő szintaxist használják:

rename 's///' 

ezzel a szintaxissal a parancs átnevezi a fájlt a fájlnév elem első előfordulásának helyettesítésével. A fenti parancsban:

  • rename: meghívja az Átnevezés parancsot.
  • : egy opcionális argumentumot biztosít, amely megváltoztatja a parancs végrehajtásának módját.
  • s: helyettesítő kifejezést jelöl.
  • : megadja a fájlnév kicserélni kívánt részét.
  • : megadja az aktuális fájlnév egy részének helyettesítését.
  • : meghatározza az átnevezni kívánt fájlt.

A translate kifejezés lefordítja az egyik karakterláncot a másikba, karakter a karakterhez. Ez a típusú kifejezés a következő szintaxist használja:

rename 'y///' 

példa rename parancsra fordítási kifejezés használatával:

rename 'y/abc/xyz/'

ebben a példában a fájlnév minden a karakterét x, minden b-t y, minden c-t pedig z helyettesíti.

az Átnevezés parancs a következő lehetőségeket használja:

  • -a: a fájlnév elem összes előfordulását helyettesíti az első helyett.
  • -f: A meglévő fájlok felülírását kényszeríti.
  • -h: megjeleníti a Súgó szövegét.
  • -i: a meglévő fájlok felülírása előtt egy promptot jelenít meg.
  • -l: a fájlnév elem utolsó előfordulását helyettesíti az első helyett.
  • -n: száraz futást végez, nem végez állandó változtatásokat. A legjobb a bőbeszédű kimenettel kombinálva (-v).
  • -s: átnevezi a célt a szimbolikus link helyett.
  • -v: a kimenet részletes változatát mutatja.
  • -V: megjeleníti a parancs verzióját.

átnevezési parancs példák

1. Fájlkiterjesztés módosítása

visszatérve az utolsó példánkhoz, hogy megváltoztassuk a fájlkiterjesztést.txt hogy .pdf, használat:

rename -v 's/.txt/.pdf/' *.txt
az Átnevezés parancs használata a fájlkiterjesztés cseréjéhez

2. Fájlnév egy részének cseréje

a fájlnév másik részének cseréje ugyanazt a szintaxist követi. Átnevezni example1.txt, example2.txt és example3.txt hogy teszt1.txt, test2.txt és text3.txt, használja:

rename -v 's/example/test/' *.txt
több fájl átnevezése az Átnevezés paranccsal

3. Fájlnév egy részének törlése

a rename opció lehetővé teszi a fájlnév egy részének törlését a kifejezés helyettesítő részének kihagyásával. Például, ha meg akarjuk rövidíteni a példát ex:

rename -v 's/ample//' *.txt
a fájlnév egy részének eltávolítása az Átnevezés paranccsal

4. Hasonló nevű fájlok átnevezése

a rename opció másik felhasználási módja a hasonló nevű fájlok átnevezése. Például, ha át akarjuk nevezni a fájlokat a példával és a mintával a nevükben, hogy teszteljék:

rename -v 's/(ex|s)ample/test/' *.txt
több hasonló nevű fájl átnevezése az Átnevezés paranccsal

5. Fájlok átnevezése karakterenként

a rename parancs lehetővé teszi a fordítási kifejezések használatát a fájlok karakterenkénti átnevezésére is. Például, ha több fájlt szeretne átnevezni példafájl az üres hely aláhúzással történő helyettesítésével (_):

rename -v 'y/ /\_/' *.txt
üres helyek eltávolítása a fájlnevekből az Átnevezés paranccsal

6.

kisbetűk konvertálása a fájlnevekben lévő kisbetűk nagybetűkké történő konvertálásához használja:

rename -v 'y/a-z/A-Z/' *.txt
a fájlnevek konvertálása kisbetűről nagybetűre az Átnevezés paranccsal

7. Nagybetűk konvertálása

a fordított akkor is működik, ha a kifejezésben a nagybetűk és a kisbetűk sorrendjét váltjuk:

rename -v 'y/A-Z/a-z/' *.TXT
fájlnevek konvertálása nagybetűről kisbetűre az Átnevezés paranccsal

Megjegyzés: legyen óvatos a karakter esetének megváltoztatásakor, mivel ez megváltoztatja a fájlkiterjesztést is.

következtetés

miután elolvasta ezt az oktatóanyagot, képesnek kell lennie a fájlok átnevezésére a mv és rename parancsokkal Linux alatt.

Tudjon meg többet a Linux parancsok használatáról a Linux parancsok Csalólapján.

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

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