Adam The Automator

új vagy a Linux operációs rendszerben? Ha igen, a gyakori feladatok, például a fájlok és mappák átnevezése eltérhetnek a megszokottól. De ne izgulj. A fájlok átnevezésének koncepciója Linuxban hasonló ahhoz, ahogyan más operációs rendszerekben történik.

ebben az oktatóanyagban számos módot tanulhat meg egy és több fájl átnevezésére Linux alatt, mind a GUI-n keresztül, mind a terminál parancsainak futtatásával.

kezdjük!

Tartalomjegyzék

előfeltételek

az oktatóanyag követéséhez győződjön meg arról, hogy rendelkezik a következőkkel:

  • ez az oktatóanyag az Ubuntu 18.04 LTS-t használja, de más Linux disztribúciók is működni fognak.
  • sudo/rendszergazdai hozzáféréssel rendelkező fiók.

fájlok átnevezése a Fájlkezelővel

ha a fájlokat grafikus felhasználói felületen keresztül kezeli, indítsa el ezt az oktatóanyagot a fájlok átnevezéséhez fájlkezelővel. GUI fájlkezelők ügyes, mivel láthatjuk a fájlokat egyszerű látvány. A Linuxban elérhető fájlkezelők egyike a GNOME korábbi fájlkezelője, A Nautilus. Ez az oktatóanyag bemutatja a fájlok átnevezését a Nautilus fájlkezelő segítségével.

a Linux egyéb fájlkezelői a Konqueror, Dolphin, Krusader, Thunar, Nemo file manager és Sunflower file manager. Ezek a fájlkezelők ugyanazt a feladatot hajtják végre, de a fájlok vagy könyvtárak átnevezése kissé eltérhet.

indítsa el a terminált, majd futtassa az alábbi parancsot a Nautilus (install nautilus) telepítéséhez a apt csomagkezelővel, ha még nem rendelkezik a gépen. A sudo parancs sudo/rendszergazdai jogokkal emeli a parancsot.

sudo apt install nautilus

egyetlen fájl átnevezése

egyetlen fájl átnevezése a Nautilusban csak néhány kattintást igényel, mint a Windows File Explorerben.

egyetlen fájl átnevezéséhez nyissa meg a Nautilus programot, kattintson a jobb gombbal az átnevezni kívánt fájlra, majd válassza az Átnevezés lehetőséget, az alábbiak szerint.

ez a példa a fájlok átnevezésére összpontosít, de a fájlok és könyvtárak átnevezése ugyanaz.

egyetlen fájl átnevezése
egyetlen fájl átnevezése

most írja be az új fájlnevet az eredeti fájlnév cseréjéhez, nyomja meg az Enter billentyűt, vagy kattintson az Átnevezés gombra.

új fájlnév megadása
új fájlnév megadása

több fájl átnevezése A Nautilus File Manager használatával

mint a Windows, az Ubuntu több lehetőséget kínál arra, hogy egyszerre több fájlt nevezzen át.

több fájl átnevezéséhez jelölje ki az összes átnevezni kívánt fájlt, kattintson a jobb gombbal bármelyikre, és válassza az Átnevezés lehetőséget. Megjelenik egy előugró ablak, ahol kiválaszthatja, hogyan szeretné átnevezni a kiválasztott fájlokat.

Több Fájl Átnevezése A Nautilus Segítségével.
Több Fájl Átnevezése A Nautilus Használatával.

az alábbiakban két lehetőség közül választhat, attól függően, hogy hogyan szeretné átnevezni a kiválasztott fájlokat.

  • átnevezés sablon használatával – ez lehetővé teszi a fájlok átnevezését lépésekben.
  • Szöveg keresése és cseréje – lehetővé teszi bizonyos szövegek keresését és cseréjét a fájlnevekben.

fájlok átnevezése sablonnal

fájlok sablonnal történő átnevezéséhez válassza az Átnevezés sablonnal lehetőséget.

most írja be a helyettesítő nevet az üres mezőbe a fájlok sablonnal való átnevezéséhez, majd kattintson a +Hozzáadás gombra, és válasszon a sablonok közül. Ehhez az oktatóanyaghoz válassza ki az elsőt (1,2,3,4), majd kattintson az Átnevezés gombra. Ez az opció növeli a számok minden fájl után a csere fájlnév (Text1, Text2,…).

fájlok átnevezése sablonnal
fájlok átnevezése sablonnal

figyelje meg, hogy a fájlnevek szövegre változtak,majd növekszik a számok.

a fájlnevek ellenőrzése "Text" - re változott, növekvő számmal
a fájlnevek ellenőrzése “Text” – re változott, növekvő számmal

szavak keresése és cseréje a fájlnevekben

ha több fájlt szeretne átnevezni egy adott fájlnévvel, válassza a szöveg keresése és cseréje lehetőséget.

írja be a szöveget a meglévő szövegmezőbe, a helyettesítő szöveget pedig a csere ezzel mezőbe, majd kattintson az Átnevezés gombra a szöveg cseréjéhez. Ez az opció megkeresi és lecseréli a fájlnevek bizonyos szövegeit.

szövegek cseréje fájlnevekben
szövegek cseréje fájlnevekben

az alábbiakban láthatja, hogy minden fájlnévben a “szöveg” szót “Fájl” – ra cserélte.

a "szöveg" szó ellenőrzése minden fájlban a "fájl" szóval lett helyettesítve
a “szöveg” szó ellenőrzése minden fájlban a “fájl” szóval lett helyettesítve

fájlok átnevezése az MV paranccsal

ha a parancsok futtatása a te dolgod a GUI-ban való navigálás helyett, készüljön fel arra, hogy megtanulja, hogyan kell átnevezni a fájlokat egy terminálon. A fájlok átnevezése a Linux terminálon hasonló ahhoz, mint más parancssori környezetekben, például a PowerShell-ben. Futtatja a parancsokat, hogy átnevezze az eredeti fájlnevet a célfájl nevével, és ennyi.

a fájl átnevezésekor két forgatókönyv létezik. Az első egy fájl átnevezése a munkakönyvtárból, a második pedig a teljes elérési út megadásával. Vessen egy pillantást az alábbi mv parancs szintaxisára egy fájl átnevezéséhez, ahol a source az eredeti név, a destination pedig a helyettesítő név.

# Rename a file or directory in the working directorymv <source> <destination># Rename a file by specifying the full pathmv <~/mydir/source> <~/mydir/destination>

egyetlen fájl átnevezése az MV paranccsal

míg az mv parancs szintaxisa még mindig friss a fejedben, próbáljuk meg átnevezni egyetlen fájlt.

egyetlen fájl és könyvtár átnevezésének bemutatása:

1. Indítsa el a terminált, majd futtassa az alábbi parancssorozatot egy könyvtár és két szöveges fájl létrehozásához.

# Create a directory named 'test'mkdir test # Change directory to ~/testcd test # Create text files named 'file1.txt' and file2.txttouch file1.txt file2.txt 

2. Ezután futtassa a ls parancsot a fájlok listázásához a munkakönyvtárban. Az alábbiakban láthatja, hogy a fájl1.txt és file2.txt létezik a ~ / test könyvtárban.

fájlok felsorolása a munkakönyvtárban
fájlok felsorolása a munkakönyvtárban

3. Futtassa az alábbi mv parancsok egyikét a file1.txtátnevezéséhez file10.txt néven.

# Rename a file in the working directorymv file1.txt file10.txt# Rename a file by specifying the full pathmv ~/test/file1.txt ~/test/file10.txt

a könyvtár átnevezése megegyezik a fájl átnevezésével, például: mv ~/test ~/demo. A ~ szimbólum a saját könyvtárat jelöli.

4. Végül futtassa újra a ls parancsot, hogy felsorolja a fájlokat a munkakönyvtárban.

alább látható, hogy a fájl1.txt most átnevezték file10.txt.

megerősítve file1.a txt neve file10.txt
a fájl Megerősítése1.a txt neve file10.txt

több fájl átnevezése A For Loop

ha túl elfoglalt más feladatokkal, és egyszerre szeretné átnevezni az összes fájlt, akkor az alábbihoz hasonló for loop utasítást kell használnia.

másolja az alábbi kódot, illessze be a terminálba, majd nyomja meg az Enter billentyűt. Az alábbi kód beolvassa a munkakönyvtár minden szövegfájlját, majd átnevezi a fájlokat “Fájl” – ra, amelyet egy növekvő szám követ.

# Declares variable with value set to 1i=1 # Scans each text file in the working directoryfor file in *.txt; # Iterate the command below until all files are scanneddo # Renames each file with "File" followed by incrementing number ($i)mv -- "$file" "File$i.txt" # Increments the variables current number value by 1 i=$((i+1)) done

a kód beillesztése a terminálba jól működik, de jó gyakorlatként jobb, ha létrehoz egy szkriptfájlt a futtatáshoz.

az alábbiakban láthatja, hogy a kód hogyan nevezi át az összes fájlt.

fájlok átnevezése For hurokkal
fájlok átnevezése For hurokkal

fájlok átnevezése Linuxon az Átnevezés segédprogrammal

ha egyetlen fájlt nevez át a napi rutinban, akkor a mv parancs elegendő. De talán arra törekszik, hogy egyszerre több fájlt nevezzen át ugyanazzal a mintával? Például egy bizonyos szóval (fájl) kezdődő fájlok átnevezése. Ebben az esetben telepítse az Átnevezés segédprogramot.

az átnevezés segédprogram több fájlt nevez át, módosítja a fájlnév formátumát, és felülírja a fájlokat.

az átnevezés segédprogram telepítéséhez futtassa az alábbi parancsok bármelyikét, attól függően, hogy melyik Linux disztribúción dolgozik.

# Install rename utility with the apt package manager for Ubuntu, Debian, and Linux Mintsudo apt install rename# Install rename utility with the dnf package manager for CentOS, Fedora, and Red Hatsudo dnf install prename# Install rename utility with the pacman package manager for Arch Linux / Manjaro Linuxsudo pacman -S perl-rename

alább látható a rename parancs szintaxisa.

rename <options> <perlexpr> <files>

több fájl átnevezése

a rename parancs szintaxisát szem előtt tartva átnevezheti az azonos mintázatú fájlokat. A rename paranccsal kapcsolatban az a nagyszerű, hogy nem kell deklarálnia egy hurok funkciót több fájl átnevezéséhez, mint a “több fájl átnevezése hurokkal” szakaszban.

lehet, hogy át szeretné nevezni a fájlokat bizonyos szavakkal. Ha igen, vessen egy pillantást a Perl reguláris kifejezésre ('s/file/myfile/') az alábbi mintaparancsban. A Perl reguláris kifejezések egy karakterlánc-mintát határoznak meg a Perl programozási nyelv alapján.

a többi fájl téves átnevezésének elkerülése érdekében sorolja fel az összes érintett fájlt, mielőtt átnevezné őket a -n opció hozzáadásával, az alábbiak szerint.

rename -n 's/file/myfile/' *.txt
az érintett fájlok felsorolása átnevezés előtt
az érintett fájlok felsorolása átnevezés előtt

most futtassa az alábbi rename parancsok egyikét, hogy a file szót myfile – re cserélje az egyes szövegfájlok nevében a munkakönyvtárban vagy a ~/test/*.txt könyvtárban.

a Perl kifejezésben ('s/file/myfile/') a s helyettesítést jelöl, ami azt jelenti, hogy fájlokat átnevez. Megjegyzés: a -v opció hozzáadódik, hogy visszaadja, mely fájlokat nevezte át a parancs.

# Replace 'file' with 'myfile' in each file's name in the working directoryrename -v 's/file/myfile/' *.txt# Replace 'file' with 'myfile' in each file's name in the ~/test directoryrename -v 's/file/myfile/' ~/test/*.txt

az alábbiakban láthatja, hogy a szöveges fájlok minden “fájl” szót átneveznek “myfile” – re.”

fájlok átnevezése
fájlok átnevezése rename paranccsal

ha inkább átnevezi az összes fájlt, távolítsa el a fájlkiterjesztést, amikor megadja a fájl elérési útját, például, rename -v 's/file/myfile/' ~/test/*

fájlkiterjesztések módosítása

a fájlneveken kívül a rename parancs átnevezi a fájlkiterjesztéseket is. Talán nem a megfelelő fájlkiterjesztéssel hozta létre a fájlokat. Ebben az esetben a rename parancs futtatásakor meg kell adnia a Perl kifejezésben módosítandó fájlkiterjesztést.

futtassa az alábbi rename parancsot, hogy az összes fájl (*) kiterjesztését .txt – ről .html – ra változtassa a ~/test könyvtárban. A $ szimbólum a Perl kifejezésben megegyezik egy karakterlánc végével (.txt) az egyes fájlnevekhez, így a parancs csak a .txt fájlkiterjesztéseket változtatja meg. Több fájl átnevezéséhez hasonlóan adja hozzá a -v opciót a parancs minden módosításának felsorolásához.

rename -v 's/.txt$/.html/' *.txt

az összes fájlkiterjesztés eltávolításához távolítsa el a helyettesítő karakterláncot a Perl kifejezésből, így: rename -v 's/.txt$//' *.txt

amint az alábbi képen látható, az .a TXT kiterjesztések megváltoztak .html

fájlkiterjesztések módosítása innen:.txt hogy .html
fájlkiterjesztések módosítása innen:.txt hogy .html

a helytelen fájlkiterjesztések helyett a fájlnevek nagy-és kisbetűkre változtatása

előfordulhat, hogy a kisbetűkkel rendelkező fájlnevekkel foglalkozik, és fordítva. Lehet, hogy kifejezetten nagybetűs fájlt próbál megtalálni, nem tudva, hogy a fájl neve kisbetűs.

a Linux nagybetűérzékeny, ezért biztosítsuk, hogy minden fájlnév betűje megfelelő legyen. Letter case alapvetően a különbséget szövegek között kis-és nagybetűs.

futtassa az alábbi rename parancsok bármelyikét, hogy a munkakönyvtárban (*) lévő összes kisbetűs (a-z) fájlnevet nagybetűre (A-Z) változtassa, és fordítva.

# Change filename from lowercase to uppercaserename -v 'y/a-z/A-Z/' *# Change filename from uppercase to lowercaserename -v 'y/A-Z/a-z/' *

az alábbiakban láthatja a fájlnév betű esetének megváltoztatásának mindkét eredményét.

fájlnév módosítása Kisbetűről nagybetűre és fordítva
fájlnév módosítása Kisbetűről nagybetűre és fordítva

szóközök cseréje és eltávolítása a fájlnevekben

mint egy fájlnév betű tokja, problémát okozhat a fájlok megtalálása, ha szóközök vannak a fájlnevükben. Javítsuk ki ezt úgy, hogy a szóközöket egy karakterrel helyettesítjük, vagy teljesen eltávolítjuk a szóközöket.

futtassa az alábbi rename parancsot, hogy az összes fájlnévben lévő szóközt aláhúzással (_) helyettesítse a munkakönyvtárban. Mivel az aláhúzás metakarakter, kerülje el fordított perjellel (\_), hogy az aláhúzást szó szerint deklarálja. A metakarakterek speciális karakterek, amelyek különleges jelentéssel bírnak egy számítógépes programban.

figyelem: a Perl kifejezésben a g azt mondja a parancsnak, hogy cserélje ki az összes egyezést (szóközt), nem csak az elsőt.

rename -v 's/ /\_/g' *

az alábbiakban láthatja, hogy a parancs az összes szóközt aláhúzással helyettesítette.

szóközök cseréje aláhúzással egy fájlnévben
szóközök cseréje aláhúzással egy fájlnévben

a fájlnév összes szóközének eltávolításához ahelyett, hogy karakterrel töltené ki őket, futtassa az alábbi parancsot.

az alábbi Perl kifejezésben az üres szóköz utáni csillag (/ *) megegyezik a fájlnév összes szóközének előfordulásával, nem csak az elsővel. A helyettesítő karakter üres (//), így a rename parancs eltávolítja az összes (g) szóközt.

rename -v "s/ *//g" *

most alább láthatja, hogy az összes szóköz eltávolításra kerül minden fájlnévből.

az összes szóköz eltávolítása a fájlnevekben
az összes szóköz eltávolítása a fájlnevekben

a fájlnévben szereplő minden szó első betűjének Nagybetűje

ha inkább a szóközöket szeretné megtartani, és a fájlnévben szereplő minden szó első betűjét szeretné nagybetűvel írni, akkor összetettebb Perl kifejezésre lesz szüksége. Vessen egy pillantást az alábbi mintaparancsra.

az alábbi Perl kifejezés egy szóhatár bármely karakterére (\w) illeszkedik (\b), amennyiben a karakter nem pont vagy aposztróf (?<!). A rename parancs ezután lefordítja ezt a betűt nagybetűre (u$&).

rename -v 's/(?<!)\b\w*/\u$&/g' *

az alábbiakban láthatja, hogy a fájlnevek minden szava nagybetűvel kezdődik, miközben a fájlkiterjesztéseket érintetlenül hagyja.

az egyes szavak első betűjének Nagybetűi a fájlnevekben
az egyes szavak első betűjének Nagybetűi a fájlnevekben

következtetés

az oktatóanyag során számos módszert megtanult a Linux fájlok átnevezésére GUI-n és parancssori terminálon keresztül. Most már szilárd megértése van arról, hogyan lehet egyszerre manipulálni az egyes és több fájl nevét.

miért nem tanulja meg a Linux shell parancsfájlokat, és hoz létre egy parancsfájlt a fájlok átnevezésének automatizálására Linuxban?

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

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