fb pixel
გამოიწერე YouTube-ის არხიyoutube logoგამოწერა
val-do.com-ის ლოგო
კურსებიბლოგიხ.დ.კ.წესებიკონტაქტიკონვერტორები

კურსებიბლოგიხ.დ.კ.წესებიკონტაქტიკონვერტორები
შესვლა
  1. მთავარი
  2. ბლოგი
  3. რა არის glob pattern?
რა არის glob pattern?

რა არის glob pattern?

პროგრამირებაში ერთ-ერთი საჭირო პატერნია ე.წ. glob pattern, რომელიც გვეხმარება დირექტორიებში სპეციფიური დამთხვების პოვნში.

ის ფართოდ გამოიყენება ფაილების ძიებისთვის, ავტომატიზაციისთვის და ე.წ. shell scripting-ისთვის.

მოცემულ ბლოგში შევეცდები განვიხილო მისი გამოყენების ძირითადი წესები და საჭიროებები.

რაც უფრო ღრმად წავალთ პროგრამირების შესწავლაში აუცილებლდ მოგვიწევს რაიმე ფორმით linux ოპერაციულ სისტემასთან შეხება, განსაკუთრებით მაშინ თუ სერვერის გამართვა მოგვიწევს.

სერვერზე წვდომა რიგ შემთხვევებში ხდება ssh-ის დახმარებით, რა დროსაც არ გვაქვს ვიზუალურ ინტერფესითან წვდომა, ასე რომ linux-ის ძირითადი ბრძანებების შესწავლა ყველა პროგრამისტისთვის ვფიქრობ აუცილებელია.

glob pattern ასევე გამოიყენება შემდეგ  ტექნოლოგიებში და მათი კონფიგურაციის ფაილებში:

  • Gulp, webpack, Prettier, ESLint
  • .gitignore, .prettierignore

რატომ უნდა გამოვიყენოთ glob pattern?

წარმოვიდგინოთ გვაქვს შემდეგი შემთხვევა, გვჭირდება დავაკოპიროთ შემდეგი file1.css file2.css file3.css /dist დირექტორიაში, glob pattern-ის გარეშე ამისთვის მოგვიწევდა ხელით ჩაგვეწერა ყველა ამ ფაილის სახელის ჩამონათვალი და ისე მოგვეხდინა კოპირება

cp file1.css file2.css file3.css /dist

ხოლო glob pattern-ის დახმარებით მარტივად ე.წ. wildcard-ის დახმარებით დავაკოპირებდით ყველა ფაილს რომლის გაფართოებაც არის .css

cp *.css /dist

მოცემული ჩანაწერი ნიშნავს, რომ არსებულ დირექტორიაში ყველა ფაილი რომელსაც აქვს გაფართოება .css დაკოპირდება /dist დირექტორიაში.

თუ წარმოვიდგენთ შემთხვევას, როდესაც ასობით CSS ფაილი გვაქვს სადმე გადასატანი, წარმოიდგინეთ რამდენად მოსახერხებელია მსგავსი სინტქსით ოპერაციის ჩატარება, ნაცვლად იმისა, რომ სათითაოდ ხელით გვეწერა ყველა ფაილის სახელი.

ხშირად გამოყენებული glob pattern-ის wildcard-ები

პატერნი მნიშვნელობა მაგალითი
* ემთხვევა ყველაფერს გარდა / სიმბოლოსი *.js → დაემთხვევა ყველა .js გაფართოებას მაგალითად: app.js, index.js
**

ემთხვევა ყველაფერს / სიმბოლოს ჩათვლით, ანუ ქვე დირექტორიებსაც

src/**/*.js → ემთხვევა ყველა .js გაფართოების ფაილს, src დირექტორიაში და ასევე მის ქვე დირექტორიებში src/index.js, src/utils/helper.js
? ემთხვავა ერთ სიმბოლოს file?.txt → ემთხვევა file1.txt, fileA.txt არ ემთხვევა file12.txt
{js,css} ემთხვევა js ან css გაფართოებებს *.{js,css} →ემთხვევა ყველა app.js, helper.js, style.css, var.css ფაილს
!(...) დამთხვევის გამორიცხვა !(test).js → ემთხვევა ყველა .js ფაილს გარდა test.js ფაილისა
[a-c] დაემთხვევა a-დან c-ის ჩათვლით ყველა სიმბოლოს   [a-c].txt ემთხვევა ყველა ფაილს რომლის დასახელებაცაა a-დან c-ის ჩათვლით და გაფართოებაა .txt - a.txt, b.txt, c.txt

მოცემული ცხრილი დაგეხმარებათ იყოს გზამკვლევი glob pattern-ის შესწავლაში.

რთული glob pattern-ის მაგალითი

წარმოვიდგინოთ ასეთი, შემთხვევა, რომ გვჭირდება ტერმინალში დავბეჭდოთ ჩვენს პროექტში არსებული ყველა .js გაფართოების ფაილი.

პროექტის სტრუქტურა:

project/
 ├── src/
 │   ├── main.js
 │   ├── utils.js
 ├── index.js

ბრძანება:

ls **/*.js

შედეგი:

src/main.js
src/utils.js
index.js

პროგრამირების კურსები

  • HTML, CSS-ის საწყისი კურსი, დამწყებთათვის (deprecated - მოძველებული)
  • ჯავასკრიპტის კურსი
  • JavaScript-ის DOM-ის კურსი
  • TypeScript-ის კურსი
  • Angular-ის კურსი
  • HTML, CSS-ის კურსი
  • Reactjs-ის კურსი დამწყებთათვის
  • ალგორითმები
  • Node.js-ის კურსი
  • Dart-ის კურსი
  • C პროგრამირების ენის საფუძვლები

უახლესი ბლოგები პროგრამირებაზე

როგორ ინახება ი...

როგორ ინახება ინფორმაცია. რა არის Bit და Byte?

რატომ არის კომფ...

რატომ არის კომფორტული სამუშაო ოთახი აუცილებელი კოდის წერისა და პროდუქტიული მუშაობისთვის?

რატომ ვერ პოულო...

რატომ ვერ პოულობენ ჯუნიორები სამსახურს?

Inversion Patte...

Inversion Pattern - როგორ დავწეროთ კითხვადი კოდი?

პროგრამირების კურსები
HTML, CSSJavaScriptTypeScriptAngularReactJSNodeJSC
გამომყევი
mipov.net/valdo

© val-do.com 2026 წელი - ყველა უფლება დაცულია

ვერსია 0.1.55