பேஷ் குளோபிங் டுடோரியல்

Bash Globbing Tutorial



வேறு சில நிலையான நிரலாக்க மொழிகளைப் போல சொந்த வழக்கமான வெளிப்பாடுகளை பேஷ் ஆதரிக்காது. பாஷ் ஷெல் அம்சம் பொருந்தும் அல்லது குறிப்பிட்ட வகை வடிவங்களை விரிவாக்கப் பயன்படுகிறது. கோப்பு பெயர்களைப் பொருத்துவதற்கு அல்லது கோப்பில் உள்ள உள்ளடக்கத்தைத் தேடுவதற்கு குளோபிங் முக்கியமாகப் பயன்படுத்தப்படுகிறது. வடிவத்தை உருவாக்க குளோபிங் வைல்ட் கார்ட் எழுத்துக்களைப் பயன்படுத்துகிறது. குளோபிங் வடிவங்களை உருவாக்கப் பயன்படுத்தப்படும் மிகவும் பொதுவான வைல்ட் கார்டு எழுத்துக்கள் கீழே விவரிக்கப்பட்டுள்ளன.

'?' எந்தவொரு ஒற்றை எழுத்திற்கும் பொருந்த பயன்படுகிறது. நீங்கள் பயன்படுத்தலாம் '?' பல எழுத்துக்களை பொருத்துவதற்கு பல முறை.







எடுத்துக்காட்டு -1:



4 எழுத்துக்கள் நீளமும் நீட்டிப்பும் கொண்ட அந்த உரை கோப்பு பெயர்களை நீங்கள் தேட விரும்புகிறீர்கள் என்று வைத்துக்கொள்வோம் .txt . 'ஐப் பயன்படுத்தி நீங்கள் குளோப்பிங் முறையைப் பயன்படுத்தலாம். ? இந்த பணியை செய்ய நான்கு முறை.



தற்போதைய கோப்பகத்தின் அனைத்து கோப்புகள் மற்றும் கோப்புறைகளின் பட்டியலைக் கண்டறியவும்.





$ls-தி

பின்வரும் கட்டளையை இயக்கவும், அதன் பெயர்கள் நான்கு எழுத்துக்கள் நீளமாகவும் தெரியாததாகவும் இருக்கும்.

$ ls -l ????. txt



எடுத்துக்காட்டு -2:

8 எழுத்துக்கள் நீளமுள்ள முதல் 4 எழுத்துக்கள் கொண்ட ஆவணக் கோப்புகளை நீங்கள் தேட விரும்புகிறீர்கள் என்று வைத்துக்கொள்வோம் எஃப், ஓ, ஓ மற்றும் டி மற்றும் நீட்டிப்பு ஆகும் doc . கோப்புகளைத் தேட பின்வரும் கட்டளையை குளோபிங் வடிவத்துடன் இயக்கவும்.

$ls -திகால் ????. doc

எடுத்துக்காட்டு -3:

கோப்பின் பெயர் உங்களுக்குத் தெரியும் என்று வைத்துக்கொள்வோம் 'சிறந்தது' மற்றும் நீட்டிப்பு 3 எழுத்துக்கள் நீளமானது, ஆனால் நீட்டிப்பு தெரியாது. பயன்படுத்தி பின்வரும் கட்டளையை இயக்கவும் '? மூன்று எழுத்துகளின் நீட்டிப்பு கொண்ட 'சோதனை' என்ற பெயருடன் அனைத்து கோப்புகளையும் தேட.

$ls -திசிறந்த. ???

நட்சத்திரம் - (*)

'*' பூஜ்ஜியம் அல்லது அதற்கு மேற்பட்ட எழுத்துகளுடன் பொருந்த பயன்படுகிறது. ஏதேனும் கோப்பு அல்லது தகவலைத் தேடுவதற்கு உங்களிடம் குறைந்த தகவல் இருந்தால் நீங்கள் பயன்படுத்தலாம் '*' குளோபிங் முறையில்.

உதாரணம் -1:

நீங்கள் அனைத்து கோப்புகளையும் தேட விரும்புகிறீர்கள் என்று வைத்துக்கொள்வோம் 'பிஎல்' நீட்டிப்பு பின்வரும் கட்டளையைப் பயன்படுத்தி இயக்கவும் '*' அந்த பணியை செய்ய.

$ls -தி *.pl

எடுத்துக்காட்டு -2:

கோப்பு பெயரின் தொடக்க எழுத்து உங்களுக்கு மட்டுமே தெரியும் என்று வைத்துக்கொள்வோம் 'க்கு' . பெயர்கள் தொடங்கப்பட்ட தற்போதைய கோப்பகத்தின் அனைத்து கோப்புகளையும் தேட பின்வரும் கட்டளையை '*' பயன்படுத்தி இயக்கவும் 'க்கு' .

$ls -திக்கு*.*

எடுத்துக்காட்டு -3:

கோப்புகளைத் தேடாமல் பல்வேறு நோக்கங்களுக்காக பாஷ் ஸ்கிரிப்டில் ‘*’ ஐப் பயன்படுத்தலாம். என்ற பேஷ் கோப்பை உருவாக்கவும் 'Check.sh' பின்வரும் ஸ்கிரிப்டுடன். இங்கே, பயனர் எப்போது தட்டச்சு செய்வார் y ’அல்லது‘ Y ’அல்லது‘ ஆம் ’அல்லது‘ ஆம் ’ பிறகு 'உறுதி' அச்சிடப்படும் மற்றும் வகை தட்டச்சு செய்யும் போது 'N' அல்லது 'N' அல்லது 'இல்லை' அல்லது 'இல்லை' பிறகு 'உறுதி செய்யப்படவில்லை' அச்சிடும்.

#!/பின்/பேஷ்
வெளியே எறிந்தார் 'நீங்கள் உறுதிப்படுத்த வேண்டுமா?'
படிபதில்
வழக்கு $ பதில் இல்
[Yy]* ) வெளியே எறிந்தார் 'உறுதி.';;
[எண்]* ) வெளியே எறிந்தார் 'உறுதி செய்யப்படவில்லை.';;
*) வெளியே எறிந்தார் 'மீண்டும் முயற்சி செய்.';;
எசாக்

ஸ்கிரிப்டை இயக்கவும்.

$பேஷ்check.sh

சதுர அடைப்புக்குறி - ([])

'[]' வரம்பிலிருந்து பாத்திரத்துடன் பொருந்த பயன்படுகிறது. பெரும்பாலும் பயன்படுத்தப்படும் வரம்பு அறிவிப்புகளில் சில கீழே குறிப்பிடப்பட்டுள்ளன.

அனைத்து பெரிய எழுத்துக்களும் வரம்பால் வரையறுக்கப்படுகின்றன, [: மேல்:] அல்லது [A-Z].

அனைத்து சிறிய எழுத்துக்களும் வரம்பால் வரையறுக்கப்படுகின்றன, [: low:] அல்லது [a-z].

அனைத்து எண் இலக்கங்களும் வரம்பால் வரையறுக்கப்படுகின்றன, [: இலக்க:] அல்லது [0-9].

அனைத்து பெரிய எழுத்துக்கள் மற்றும் கீழ் எழுத்துக்கள் வரம்பால் வரையறுக்கப்படுகின்றன, [: alpha:] அல்லது [a-zA-z].

அனைத்து பெரிய எழுத்துக்கள், சிறிய எழுத்துக்கள் மற்றும் இலக்கங்கள் வரம்பால் வரையறுக்கப்படுகின்றன, [: alnum:] அல்லது [a-zA-Z0-9]

உதாரணம் -1:

பெயர் உள்ள அனைத்து கோப்புகள் மற்றும் கோப்புறைகளை தேட பின்வரும் கட்டளையை இயக்கவும் அல்லது என்ன அல்லது ஆர் அல்லது கள் .

$ls -தி [p-s]*

எடுத்துக்காட்டு -2:

1 முதல் 5 வரையிலான எந்த இலக்கத்திலும் தொடங்கும் அனைத்து கோப்புகளையும் கோப்புறைகளையும் தேட பின்வரும் கட்டளையை இயக்கவும்.

$ls -தி [1-5]*

அவருக்கு இல்லை - (^)

நீங்கள் பயன்படுத்தலாம் '^' கோள வடிவத்தை இன்னும் குறிப்பாக வரையறுக்க சதுர அடைப்புடன். '^' சதுர அடைப்புக்குறிக்குள் அல்லது வெளியே பயன்படுத்தலாம். ஒரு குறிப்பிட்ட வரம்பில் தொடங்கும் கோப்பின் உள்ளடக்கங்களைத் தேட சதுர அடைப்புக்குறிக்கு வெளியே ‘^’ பயன்படுத்தப்படுகிறது. கொடுக்கப்பட்ட வரிகளின் வரிகளுடன் தொடங்கும் வரிகளை முன்னிலைப்படுத்தி கோப்பின் அனைத்து உள்ளடக்கத்தையும் காட்ட சதுர அடைப்புக்குறிக்குள் ‘^’ பயன்படுத்தப்படுகிறது. ஒரு கோப்பிலிருந்து குறிப்பிட்ட உள்ளடக்கத்தைத் தேட நீங்கள் பல்வேறு வகையான குளோபிங் வடிவங்களைப் பயன்படுத்தலாம். 'பிடியில்' பாஷ் உள்ளடக்கத்தை தேடுவதற்கு கட்டளை பயன்படுத்தப்படுகிறது. உங்களிடம் ஒரு உரை கோப்பு உள்ளது என்று வைத்துக்கொள்வோம் 'List.txt' பின்வரும் உள்ளடக்கத்துடன். அந்தக் கோப்புக்கான பின்வரும் உதாரணங்களைச் சோதிக்கவும்.

ஆப்பிள்
4000
வாழை
700
ஆரஞ்சு
850
பேரிக்காய்
9000
பலாப்பழம்

உதாரணம் - 1:

அந்த வரிகளைத் தேட பின்வரும் கட்டளையை இயக்கவும் list.txt உடன் தொடங்கும் கோப்பு பி அல்லது கே அல்லது ஆர் .

$ grep '^[P-R]' list.txt

உதாரணம் - 2:

அந்த வரிகளை முன்னிலைப்படுத்த பின்வரும் கட்டளையை இயக்கவும் list.txt உடன் தொடங்கும் கோப்பு ஏ அல்லது பி அல்லது சி .

$ grep '[^A-C]' list.txt

ஆச்சரியக்குறி - (!)

நீங்கள் பயன்படுத்தலாம் '!' வரம்பு முறை உள்ளே. வரம்பு முறைக்கு வெளியே '^' சின்னத்தைப் பயன்படுத்துவது போலவே இது செயல்படுகிறது. பயன்படுத்துவதற்கான சில உதாரணங்கள் '!' அடையாளம் கீழே கொடுக்கப்பட்டுள்ளது.

உதாரணம் - 1:

அந்த வரிகளை காட்ட பின்வரும் கட்டளையை இயக்கவும் list.txt உடன் தொடங்கும் கோப்பு 'P' அல்லது Q அல்லது R .

$ grep [! P-R] list.txt

உதாரணம் - 2:

அந்த வரிகளை காட்ட பின்வரும் கட்டளையை இயக்கவும் list.txt எந்த இலக்கத்திலிருந்தும் தொடங்கும் கோப்பு 4 முதல் 8 வரை .

$ grep [! 4-8] list.txt

டாலர் அடையாளம் - ($)

'$' முடிவடையும் தன்மையை வரையறுக்கப் பயன்படுகிறது. கடைசி எழுத்தின் அடிப்படையில் தகவல்களைத் தேட வேண்டும் என்று உங்களுக்குத் தெரிந்தால், நீங்கள் பயன்படுத்தலாம் '$' குளோபிங் முறையில்.

உதாரணம் - 1:

அந்த வரிகளைத் தேட பின்வரும் கட்டளையை இயக்கவும் list.txt உடன் முடிவடையும் கோப்பு 'க்கு' .

$ grep a $ list.txt

உதாரணம் - 2:

அந்த வரிகளைத் தேட பின்வரும் கட்டளையை இயக்கவும் list.txt எண்ணுடன் முடிவடையும் கோப்பு ஐம்பது .

$ grep 50 $ list.txt

சுருள் அடைப்புக்குறி - ({})

'{}' ஒன்றுக்கு மேற்பட்ட குளோபிங் வடிவங்களுடன் கோப்பு பெயர்களைப் பொருத்த பயன்படுத்தலாம். ஒவ்வொரு வடிவமும் எந்த இடமும் இல்லாமல் சுருள் அடைப்புக்குறிக்குள் ',' ஆல் பிரிக்கப்படுகிறது. சில உதாரணங்கள் கீழே கொடுக்கப்பட்டுள்ளன.

உதாரணம் - 1:

5 எழுத்துக்கள் நீளம் மற்றும் நீட்டிப்பு உள்ள கோப்புகளை தேட பின்வரும் கட்டளையை இயக்கவும் 'ஷ்' அல்லது கோப்புகளின் கடைசி இரண்டு எழுத்துக்கள் 'St' மற்றும் நீட்டிப்பு ஆகும் 'Txt' .

$ ls -l {?????. sh,*st.txt}

உதாரணம் - 2:

நீட்டிப்புகள் உள்ள அனைத்து கோப்புகளையும் நீக்க பின்வரும் கட்டளையை இயக்கவும் 'டாக்' அல்லது 'டாக்ஸ்' .

$ஆர்எம் {*.டாக்,*.docx}

குழாய் - (|)

குளோபிங் முறைக்கு ஒன்றுக்கு மேற்பட்ட நிபந்தனைகளைப் பயன்படுத்துவதற்கும் ‘|’ அடையாளம் பயன்படுத்தப்படுகிறது. ஒவ்வொரு வடிவமும் கட்டளையில் ‘|’ சின்னத்தால் பிரிக்கப்பட்டுள்ளது.

உதாரணம் - 1:

'A' என்ற எழுத்தில் தொடங்கும் மற்றும் 'bash' அல்லது 'sh' நீட்டிப்பு கொண்ட கோப்பு பெயர்களைத் தேட பின்வரும் கட்டளையை இயக்கவும்.

$lsக்கு*+(.பாஷ்|.ஷ்)

உதாரணம் - 2:

என்ற பேஷ் கோப்பை உருவாக்கவும் 'Menu.bash' மற்றும் பின்வரும் ஸ்கிரிப்டைச் சேர்க்கவும். பயனர் தட்டச்சு செய்தால் 1 அல்லது எஸ் பின்னர் அது அச்சிடப்படும் உரையைத் தேடுகிறது . பயனர் தட்டச்சு செய்தால் 2 அல்லது ஆர் பின்னர் அது அச்சிடப்படும் உரையை மாற்றுதல் . பயனர் தட்டச்சு செய்தால் 3 அல்லது டி பின்னர் அது அச்சிடப்படும் உரையை நீக்குகிறது . அது அச்சிடும் மீண்டும் முயற்சி செய் வேறு எந்த உள்ளீட்டிற்கும்.

#!/பின்/பேஷ்
வெளியே எறிந்தார் 'மெனுவிலிருந்து எந்த விருப்பத்தையும் தேர்ந்தெடுக்கவும்:'
படிபதில்
வழக்கு $ பதில் இல்
1 |எஸ்) வெளியே எறிந்தார் 'உரையைத் தேடுகிறது';;
2 |ஆர்) வெளியே எறிந்தார் 'உரையை மாற்றுதல்';;
3 |டி) வெளியே எறிந்தார் 'உரையை நீக்குகிறது';;
*) வெளியே எறிந்தார் 'மீண்டும் முயற்சி செய்.';;
எசாக்

ஸ்கிரிப்டை இயக்கவும்.

$பேஷ்பட்டி. பேஷ்

முடிவுரை

இந்த டுடோரியலில் மிகவும் எளிமையான உதாரணங்களைப் பயன்படுத்தி பொதுவாகப் பயன்படுத்தப்படும் சில குளப்பிங் வடிவங்கள் விளக்கப்பட்டுள்ளன. மேலே உள்ள எடுத்துக்காட்டுகளைப் பயிற்சி செய்த பிறகு, குளோபிங் என்ற கருத்து உங்களுக்கு தெளிவாக இருக்கும் என்று நம்புகிறேன், அதை நீங்கள் பாஷ் கட்டளைகள் மற்றும் ஸ்கிரிப்ட்களில் வெற்றிகரமாகப் பயன்படுத்த முடியும்.

மேலும் தகவலுக்கு இந்த வீடியோவைப் பார்க்கவும்: