Weboldal keresés

10 gyakorlati példa helyettesítő karakterek használatával a fájlnevek egyeztetésére Linuxban


A Helyettesítő karakterek (más néven metakarakterek) olyan szimbólumok vagy speciális karakterek, amelyek más karaktereket jelölnek. Bármilyen paranccsal, például az ls paranccsal vagy az rm paranccsal használhatók adott feltételeknek megfelelő fájlok listázásához vagy eltávolításához.

Olvassa el még: 10 hasznos gyakorlati példa az operátorok láncolására Linuxban

Ezeket a helyettesítő karaktereket a shell értelmezi, és az eredményeket visszaküldi a futtatott parancshoz. A Linuxban három fő helyettesítő karakter létezik:

  • Csillag (*) – bármely karakter egy vagy több előfordulására egyezik, beleértve a karaktereket is.
  • Kérdőjel (?) – bármely karakter egyetlen előfordulását jelöli vagy egyezik.
  • Kapcsos zárójeles karakterek ([ ]) – megfelel a szögletes zárójelben lévő karakter bármely előfordulásának. Lehetőség van különböző típusú karakterek (alfanumerikus karakterek) használatára: számok, betűk, egyéb speciális karakterek stb.

Gondosan ki kell választania, hogy melyik helyettesítő karaktert használja a megfelelő fájlnevekhez: az is lehetséges, hogy az összeset egy műveletben kombinálja az alábbi példák szerint.

Fájlnevek egyeztetése helyettesítő karakterekkel Linuxban

Ebben a cikkben a következő fájlokat fogjuk használni az egyes példák bemutatására.

createbackup.sh  list.sh  lspace.sh        speaker.sh
listopen.sh      lost.sh  rename-files.sh  topprocs.sh

1. Ez a parancs megfelel az összes olyan fájlnak, amelynek neve l-val kezdődik (ez az előtag) és bármely karakter egy vagy több előfordulásával végződik.

ls -l l*	

2. Ez a példa a * egy másik használatát mutatja be a users-0 előtaggal rendelkező és bármely karakter egy vagy több előfordulásával végződő fájlnév másolására.

mkdir -p users-info
ls users-0*
mv -v users-0* users-info/	# Option -v flag enables verbose output

3. A következő parancs minden olyan fájlra illeszkedik, amelynek neve l karakterrel kezdődik, majd tetszőleges karakterrel végződik, és st.sh-re végződik (ez az utótag ).

ls l?st.sh	

4. Az alábbi parancs minden olyan fájlra illeszkedik, amelynek a neve l karakterrel kezdődik, majd a szögletes zárójelben lévő karakterek bármelyike után, de st.sh-re végződik. .

ls l[abdcio]st.sh 

A helyettesítő karakterek kombinálása a fájlnevek egyeztetéséhez Linuxban

A helyettesítő karakterek kombinálásával összetett fájlnév-egyezési feltételeket hozhat létre a következő példákban leírtak szerint.

5. Ez a parancs minden olyan fájlnévhez illeszkedik, amelyek előtt tetszőleges két karakter, majd st szerepel, de bármely karakter egy vagy több előfordulásával végződik.

ls
ls ??st*

6. Ez a példa megfelel a fájlneveknek, amelyek a [clst] karakterek bármelyikével kezdődnek, és bármely karakter egy vagy több előfordulásával végződnek.

ls
ls [clst]*

7. Ebben a példában csak olyan fájlnevek jelennek meg, amelyek a következő karakterekkel kezdődnek: [clst], ezt követi a [io], majd bármely egyedi karakter. karakter, majd egy t, végül pedig bármely karakter egy vagy több előfordulása megjelenik a listában.

ls
ls [clst][io]?t*

8. Itt a rendszer eltávolítja azokat a fájlneveket, amelyek előtagjaként egy vagy több karakter szerepel, majd a tar betűk követik, és bármely karakter egy vagy több előfordulására végződnek.

ls
rm *tar*
ls

Karakterkészlet egyeztetése Linux alatt

9. Most nézzük meg, hogyan kell megadni egy karakterkészletet. Vegye figyelembe az alábbi fájlneveket, amelyek rendszerfelhasználói információkat tartalmaznak.

ls

users-111.list  users-1AA.list  users-22A.list  users-2aB.txt   users-2ba.txt
users-111.txt   users-1AA.txt   users-22A.txt   users-2AB.txt   users-2bA.txt
users-11A.txt   users-1AB.list  users-2aA.txt   users-2ba.list
users-12A.txt   users-1AB.txt   users-2AB.list  users-2bA.list

Ez a parancs megtalálja az összes fájlt, amelynek neve users-i karakterrel kezdődik, amelyet egy szám, egy kisbetű vagy szám követ, majd egy szám, és bármely karakter egy vagy több előfordulásával végződik.

ls users-[0-9][a-z0-9][0-9]*

A következő parancs a users-i karakterekkel kezdődő fájlneveket egyezteti, majd egy számmal, egy kis- vagy nagybetűvel vagy számmal, majd egy számmal, és bármely karakter egy vagy több előfordulásával végződik.

ls users-[0-9][a-zA-Z0-9][0-9]*

Ez a következő parancs minden fájlnévhez illeszkedik, amely a users-i karakterekkel kezdődik, amelyet egy szám, egy kis- vagy nagybetű vagy szám, majd egy kis- vagy nagybetű követ, és egy vagy több előfordulásával végződik. bármilyen karakter.

ls users-[0-9][a-zA-Z0-9][a-zA-Z]*

Karakterkészlet tagadása Linuxban

10. A ! szimbólum használatával egy karakterkészletet is tagadhat. A következő parancs felsorolja az összes fájlnevet, amely a users-i karakterrel kezdődik, amelyet egy szám követ, minden érvényes fájlnév-karakter a számon kívül, majd egy kis- vagy nagybetű, és egy vagy több előfordulással végződik. karakter.

ls users-[0-9][!0-9][a-zA-Z]*

Ez minden most! Ha már kipróbálta a fenti példákat, akkor most már alaposan meg kell értenie, hogyan működnek a helyettesítő karakterek a fájlnevek egyeztetésére Linuxban.

Érdemes lehet elolvasni a következő cikkeket is, amelyek példákat mutatnak be a helyettesítő karakterek használatára Linuxban:

  1. Tar fájlok kibontása adott vagy eltérő könyvtárba Linuxban
  2. 3 módszer az összes fájl törlésére egy könyvtárban, kivéve egy vagy néhány kiterjesztésű fájlt
  3. 10 hasznos tipp hatékony Bash szkriptek írásához Linux alatt
  4. Az Awk és a reguláris kifejezések használata szöveg vagy karakterlánc szűrésére a fájlokban

Ha bármilyen megosztanivalója van vagy kérdése(i) van, használja az alábbi megjegyzés űrlapot.