10 praktiski piemēri, izmantojot aizstājējzīmes, lai saskaņotu failu nosaukumus Linux


Aizstājējzīmes (sauktas arī par meta rakstzīmēm) ir simboli vai īpašas rakstzīmes, kas attēlo citas rakstzīmes. Tos var izmantot ar jebkuru komandu, piemēram, komandu ls vai komandu rm, lai uztveroši uzskaitītu vai noņemtu failus, kas atbilst noteiktiem kritērijiem.

Lasiet arī: 10 noderīgi praktiski piemēri par operatoru ķēdēm Linux

Šos aizstājējzīmes interpretē čaula, un rezultāti tiek atgriezti palaistajā komandā. Linux ir trīs galvenās aizstājējzīmes:

  • Zvaigznīte (*) - atbilst vienam vai vairākiem jebkuras rakstzīmes gadījumiem, ieskaitot bez rakstzīmes.
  • jautājuma zīme (?) - apzīmē vai atbilst jebkuras rakstzīmes vienam gadījumam.
  • Iekavas iekavās ([]) - atbilst jebkuram kvadrātiekavās ievietotam rakstzīmju gadījumam. Ir iespējams izmantot dažāda veida rakstzīmes (burtciparu rakstzīmes): ciparus, burtus, citas īpašās rakstzīmes utt.

Jums rūpīgi jāizvēlas aizstājējzīme, lai tā atbilstu pareizajiem failu nosaukumiem: ir iespējams arī visus apvienot vienā darbībā, kā paskaidrots tālāk sniegtajos piemēros.

Kā saskaņot failu nosaukumus, izmantojot aizstājējzīmes Linux

Šī raksta vajadzībām mēs izmantosim šādus failus, lai parādītu katru piemēru.

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

1. Šī komanda saskaņo visus failus ar nosaukumiem, kas sākas ar l (kas ir prefikss) un beidzas ar vienu vai vairākiem jebkuras rakstzīmes gadījumiem.

$ ls -l l*	

2. Šajā piemērā parādīts vēl viens * lietojums, lai kopētu visus ar users-0 prefiksus pievienotos failu nosaukumus un beidzot ar vienu vai vairākiem jebkuras rakstzīmes gadījumiem.

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

3. Šī komanda atbilst visiem failiem ar nosaukumiem, kas sākas ar l , kam seko jebkura atsevišķa rakstzīme un beidzas ar st.sh (kas ir sufikss).

$ ls l?st.sh	

4. Zemāk esošā komanda atbilst visiem failiem, kuru nosaukumi sākas ar l , kam seko jebkura no kvadrātiekavās esošajām rakstzīmēm, bet beidzas ar st.sh .

$ ls l[abdcio]st.sh 

Kā apvienot aizstājējzīmes, lai saskaņotu failu nosaukumus Linux

Varat apvienot aizstājējzīmes, lai izveidotu sarežģītus failu nosaukumu atbilstības kritērijus, kā aprakstīts turpmākajos piemēros.

5. Šī komanda sakritīs ar visiem failu nosaukumiem, kas ir pievienoti ar jebkurām divām rakstzīmēm, kam seko st , bet beidzas ar vienu vai vairākiem jebkuras rakstzīmes gadījumiem.

$ ls
$ ls ??st*

6. Šis piemērs atbilst failu nosaukumiem, kas sākas ar jebkuru no šīm rakstzīmēm [clst] un beidzas ar vienu vai vairākiem jebkuras rakstzīmes gadījumiem.

$ ls
$ ls [clst]*

7. Šajos piemēros tikai failu nosaukumi, kas sākas ar jebkuru no šīm rakstzīmēm [clst] , kam seko viena no šīm [io] un pēc tam jebkura atsevišķa rakstzīme, kam seko t un visbeidzot tiks uzskaitīts viens vai vairāki jebkuras rakstzīmes gadījumi.

$ ls
$ ls [clst][io]?t*

8. Šeit tiks noņemti failu nosaukumi, kas pievienoti ar vienu vai vairākiem jebkuras rakstzīmes gadījumiem, kam seko burti tar un kas beidzas ar vienu vai vairākiem jebkuras rakstzīmes gadījumiem.

$ ls
$ rm *tar*
$ ls

Kā saskaņot rakstzīmju kopu Linux

9. Tagad apskatīsim, kā norādīt rakstzīmju kopu. Apsveriet tālāk minētos failu nosaukumus, kas satur informāciju par sistēmas lietotājiem.

$ 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

Šī komanda sakritīs ar visiem failiem, kuru nosaukums sākas ar users-i , kam seko skaitlis, mazais burts vai cipars, pēc tam skaitlis un beidzas ar vienu vai vairākiem jebkuras rakstzīmes gadījumiem.

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

Nākamā komanda atbilst failu nosaukumiem, kas sākas ar users-i , kam seko skaitlis, mazais vai lielais burts vai cipars, pēc tam skaitlis un beidzas ar vienu vai vairākiem jebkuras rakstzīmes gadījumiem.

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

Šī sekojošā komanda sakritīs ar visiem failu nosaukumiem, kas sākas ar users-i , kam seko skaitlis, mazais vai lielais burts vai cipars, pēc tam mazais vai lielais burts un beidzas ar vienu vai vairākiem jebkurš varonis.

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

Kā norunāt rakstzīmju kopu Linux

10. Varat arī noraidīt rakstzīmju kopu, izmantojot simbolu ! . Šajā komandā ir uzskaitīti visi failu nosaukumi, kas sākas ar users-i , kam seko skaitlis, jebkura derīga faila nosaukuma rakstzīme, izņemot skaitli, pēc tam mazais vai lielais burts un beidzas ar vienu vai vairākiem jebkuru raksturs.

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

Tas pagaidām ir viss! Ja esat izmēģinājis iepriekš minētos piemērus, jums tagad vajadzētu labi saprast, kā aizstājējzīmes darbojas, lai saskaņotu failu nosaukumus Linux.

Iespējams, vēlēsities arī izlasīt šādus rakstus, kas parāda aizstājējzīmju izmantošanas Linux piemērus:

  1. Kā iegūt darvas failus konkrētā vai citā Linux direktorijā
  2. 3 veidi, kā izdzēst visus direktorijā esošos failus, izņemot vienu vai dažus failus ar paplašinājumiem
  3. 10 noderīgi padomi efektīvu Bash skriptu rakstīšanai Linux
  4. Kā lietot Awk un regulāras izteiksmes, lai filtrētu tekstu vai virknes failos

Ja jums ir kāda koplietojama lieta vai jautājums (-i), kuru (-us) uzdot, izmantojiet zemāk esošo komentāru formu.