10 praktinių pavyzdžių, kaip naudoti pakaitos simbolius failų pavadinimams suderinti Linux sistemoje


Pakaitos simboliai (taip pat vadinami meta simboliais) yra simboliai arba specialieji simboliai, žymintys kitus simbolius. Galite naudoti juos su bet kuria komanda, pvz., ls komanda arba rm komanda, kad įtrauktumėte į sąrašą arba pašalintumėte failus, atitinkančius nurodytus kriterijus.

Taip pat skaitykite: 10 naudingų praktinių operatorių sujungimo Linux sistemoje pavyzdžių

Šiuos pakaitos simbolius interpretuoja apvalkalas, o rezultatai grąžinami į komandą, kurią vykdote. „Linux“ sistemoje yra trys pagrindiniai pakaitos simboliai:

  • Žvaigždutė (*) – atitinka vieną ar daugiau bet kurio simbolio atvejų, įskaitant be jokio simbolio.
  • Klaustukas (?) – reiškia arba atitinka vieną bet kurio simbolio atvejį.
  • Simboliai su skliaustais ([ ]) – atitinka bet kokį laužtiniuose skliaustuose esantį simbolį. Galima naudoti įvairių tipų simbolius (raidinius ir skaitinius): skaičius, raides, kitus specialiuosius simbolius ir kt.

Turite atidžiai pasirinkti, kurį pakaitos simbolį naudoti, kad atitiktų teisingus failų pavadinimus: taip pat galima juos visus sujungti viena operacija, kaip paaiškinta toliau pateiktuose pavyzdžiuose.

Kaip suderinti failų pavadinimus naudojant pakaitos simbolius sistemoje „Linux“.

Šiame straipsnyje kiekvienam pavyzdžiui parodyti naudosime šiuos failus.

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

1. Ši komanda atitinka visus failus, kurių pavadinimai prasideda l (tai yra priešdėlis) ir baigiasi vienu ar daugiau bet kurio simbolio atvejų.

ls -l l*	

2. Šiame pavyzdyje parodytas kitas * naudojimas, norint nukopijuoti visus failų pavadinimus, kurių priešdėlis yra users-0 ir baigiasi vienu ar daugiau bet kurio simbolio atvejų.

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

3. Ši komanda atitinka visus failus, kurių pavadinimai prasideda l, po kurio seka bet koks vienas simbolis ir baigiasi st.sh (tai yra priesaga ).

ls l?st.sh	

4. Toliau pateikta komanda atitinka visus failus, kurių pavadinimai prasideda l, po kurio yra bet kuris simbolis laužtiniuose skliaustuose, bet baigiasi st.sh .

ls l[abdcio]st.sh 

Kaip sujungti pakaitos simbolius, kad jie atitiktų failų pavadinimus sistemoje „Linux“.

Galite sujungti pakaitos simbolius, kad sukurtumėte sudėtingus failo pavadinimų atitikimo kriterijus, kaip aprašyta toliau pateiktuose pavyzdžiuose.

5. Ši komanda atitiks visus failų pavadinimus, kurių priešdėlis yra bet kokie du simboliai, po kurių yra st, bet baigiasi vienu ar daugiau bet kurio simbolio.

ls
ls ??st*

6. Šis pavyzdys atitinka failų pavadinimus, prasidedančius bet kuriuo iš šių simbolių [clst] ir baigiant vienu ar daugiau bet kurio simbolio atvejų.

ls
ls [clst]*

7. Šiuose pavyzdžiuose pateikiami tik failų pavadinimai, prasidedantys bet kuriuo iš šių simbolių [clst], po kurio seka vienas iš šių [io] ir bet kuris atskiras simbolis, po kurio seka t ir galiausiai bus pateiktas vienas ar keli bet kurio simbolio atvejai.

ls
ls [clst][io]?t*

8. Čia bus pašalinti failų pavadinimai, kurių priešdėlis yra vienas ar daugiau bet kurio simbolio, po kurio yra raidės tar ir baigiasi vienu ar daugiau bet kurio simbolio.

ls
rm *tar*
ls

Kaip suderinti simbolių rinkinį „Linux“.

9. Dabar pažiūrėkime, kaip nurodyti simbolių rinkinį. Apsvarstykite toliau pateiktus failų pavadinimus, kuriuose yra sistemos naudotojų informacija.

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

Ši komanda atitiks visus failus, kurių pavadinimas prasideda users-i, po kurio yra skaičius, mažoji raidė arba skaičius, tada skaičius ir baigiasi vienu ar daugiau bet kurio simbolio atvejų.

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

Kita komanda atitinka failų pavadinimus, prasidedančius users-i, po kurio seka skaičius, mažoji arba didžioji raidė arba skaičius, tada skaičius ir baigiasi vienu ar daugiau bet kurio simbolio atvejų.

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

Ši sekanti komanda atitiks visus failų pavadinimus, prasidedančius users-i, po kurių nurodomas skaičius, mažoji arba didžioji raidė arba skaičius, tada mažoji arba didžioji raidė ir baigiasi vienu ar daugiau kartų bet koks personažas.

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

Kaip paneigti simbolių rinkinį „Linux“.

10. Taip pat galite paneigti simbolių rinkinį naudodami simbolį !. Šioje komandoje pateikiami visi failų pavadinimai, prasidedantys raide users-i, po kurių yra skaičius, bet koks tinkamas failo pavadinimo simbolis, išskyrus skaičių, tada mažoji arba didžioji raidė ir baigiasi vienu ar daugiau bet kokių charakteris.

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

Tai kol kas viskas! Jei išbandėte aukščiau pateiktus pavyzdžius, dabar turėtumėte gerai suprasti, kaip pakaitos simboliai veikia, kad atitiktų failų pavadinimus sistemoje Linux.

Taip pat galbūt norėsite perskaityti šiuos straipsnius, kuriuose pateikiami pakaitos simbolių naudojimo Linux sistemoje pavyzdžiai:

  1. Kaip išgauti tar failus į konkretų ar kitą katalogą „Linux“.
  2. 3 būdai, kaip ištrinti visus failus kataloge, išskyrus vieną ar kelis failus su plėtiniais
  3. 10 naudingų patarimų, kaip rašyti efektyvius „Bash“ scenarijus sistemoje „Linux“.
  4. Kaip naudoti Awk ir reguliariąsias išraiškas, norint filtruoti tekstą ar eilutę failuose

Jei turite ką nors pasidalinti arba turite klausimų, naudokite toliau pateiktą komentarų formą.