முனையத்துடன்: வழக்கமான வெளிப்பாடுகளைப் பயன்படுத்துதல்

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

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

வழக்கமான வெளிப்பாடு என்றால் என்ன?

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

வழக்கமான வெளிப்பாடுகள் எதிராக கோப்பு வடிவங்கள்.

நாங்கள் வழக்கமான வெளிப்பாடுகளில் இறங்குவதற்கு முன், வழக்கமான வெளிப்பாடுகள் பற்றிய பொதுவான தவறான புரிதலை அழிக்க விரும்புகிறேன். ஒரு வழக்கமான வெளிப்பாடு என்பது வன்வட்டில் உள்ள பல்வேறு கோப்புகளைக் குறிக்க rm, cp, போன்ற கட்டளைகளில் ஒரு அளவுருவாக வைப்பது அல்ல. அது ஒரு கோப்பு வடிவமாக இருக்கும். வழக்கமான வெளிப்பாடுகள், அவை சில பொதுவான எழுத்துக்களைப் பயன்படுத்துவதைப் போலவே இருந்தாலும், வேறுபட்டவை. வன் வட்டில் உள்ள கோப்புகளுக்கு எதிராக ஒரு கோப்பு முறை சுடப்பட்டு, அந்த வடிவத்துடன் முற்றிலும் பொருந்தக்கூடியவற்றை வழங்குகிறது, அதே நேரத்தில் ஒரு வழக்கமான வெளிப்பாடு ஒரு உரைக்கு எதிராக சுடப்பட்டு தேடப்பட்ட உரையைக் கொண்ட வரிகளைத் தருகிறது. எடுத்துக்காட்டாக, முறைக்கு ஒத்த வழக்கமான வெளிப்பாடு *.* அது போன்ற ஏதாவது இருக்கும் ^.*\..*$

வழக்கமான வெளிப்பாடுகளின் வகைகள்.

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

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

வழக்கமான வெளிப்பாடுகளை சோதிக்கிறது.

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

முதலாவது grep கட்டளை. தேடல்களைச் செய்ய நாம் அடிக்கடி பயன்படுத்தும் கட்டளை இது. தொடரியல் பின்வருமாறு:

grep [-E] 'REGEX' FICHERO
COMANDO | grep [-E] 'REGEX'

வழக்கமான வெளிப்பாடுகளை எப்போதும் ஒற்றை மேற்கோள்களில் வைக்க நான் பரிந்துரைக்கிறேன், இதனால் ஷெல் நம்மைப் பெறாது. ஒரு கோப்பில் வழக்கமான வெளிப்பாட்டைக் கண்டுபிடிப்பதே முதல் வழி. இரண்டாவது ஒரு கட்டளை வெளியீட்டை வழக்கமான வெளிப்பாடு மூலம் வடிகட்ட அனுமதிக்கிறது. இயல்பாக, grep அடிப்படை வழக்கமான வெளிப்பாடுகளைப் பயன்படுத்துகிறது. -E விருப்பம் நீட்டிக்கப்பட்ட வழக்கமான வெளிப்பாடுகளைப் பயன்படுத்துவதாகும்.

Grep கட்டளையில் வண்ணத்தைப் பயன்படுத்துவதற்கு வழக்கமான வெளிப்பாடுகள் எவ்வாறு செயல்படுகின்றன என்பதைப் பார்க்க உதவும் ஒரு தந்திரம். அந்த வகையில், நாம் பயன்படுத்தும் வழக்கமான வெளிப்பாட்டுடன் பொருந்தக்கூடிய உரையின் பகுதி முன்னிலைப்படுத்தப்படும். Grep கட்டளையில் வண்ணத்தை செயல்படுத்த, சூழல் மாறி என்பதை உறுதிப்படுத்தவும் GREP_OPTIONS மதிப்பைக் கொண்டிருக்கும் --color, இந்த கட்டளையுடன் செய்ய முடியும்:

GREP_OPTIONS=--color

அதை எப்போதும் செயல்படுத்துவதற்கு .bashrc இல் வைக்கலாம்.

வழக்கமான வெளிப்பாடுகளைப் பயன்படுத்துவதற்கான மற்றொரு வழி sed கட்டளையைப் பயன்படுத்துவதாகும். உரையை மாற்றுவதற்கு இது மிகவும் பொருத்தமானது, ஆனால் தேடலுக்கும் பயன்படுத்தலாம். அதற்கான தொடரியல் இதுபோன்று இருக்கும்:

sed -n[r] '/REGEX/p' FICHERO
COMANDO | sed -n[r] '/REGEX/p'

Sed கட்டளை இயல்பாகவே அடிப்படை வழக்கமான வெளிப்பாடுகளையும் பயன்படுத்துகிறது, நீங்கள் -r விருப்பத்துடன் நீட்டிக்கப்பட்ட வழக்கமான வெளிப்பாடுகளைப் பயன்படுத்தலாம்.

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

awk '/REGEX/' FICHERO
COMANDO | awk '/REGEX/'

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

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

- Lista de páginas wiki:

ArchLinux: https://wiki.archlinux.org/
Gentoo: https://wiki.gentoo.org/wiki/Main_Page
CentOS: http://wiki.centos.org/
Debian: https://wiki.debian.org/
Ubuntu: https://wiki.ubuntu.com/

- Fechas de lanzamiento:

Arch Linux: 11-03-2002
Gentoo: 31/03/2002
CentOs: 14-05-2004 03:32:38
Debian: 16/08/1993
Ubuntu: 20/10/2004

Desde Linux Rulez.

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

ஆரம்ப பாடம்.

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

எல்லாவற்றிலும் எளிமையானது ஒரு குறிப்பிட்ட வார்த்தையைத் தேடுவது, எடுத்துக்காட்டாக, "லினக்ஸ்" என்ற வார்த்தையைக் கொண்டிருக்கும் அனைத்து வரிகளையும் கண்டுபிடிக்க விரும்புகிறோம். இது எளிதானது, ஏனென்றால் நாம் மட்டுமே எழுத வேண்டும்:

grep 'Linux' regex

இதன் விளைவாக நாம் காணலாம்:

ஆர்க்லினக்ஸ்: https://wiki.archlinux.org/ ஆர்ச் லினக்ஸ்: 11-03-2002 இருந்து லினக்ஸ் ரூலெஸ்.

"லினக்ஸ்" என்ற வார்த்தையைக் கொண்டிருக்கும் மூன்று வரிகள் இவை, நாம் வண்ண தந்திரத்தைப் பயன்படுத்தினால், சிறப்பம்சமாகத் தோன்றும். "ArchLinux" இல் உள்ளதைப் போல நீண்ட வார்த்தையின் ஒரு பகுதியாக இருந்தாலும் அது நாம் தேடும் வார்த்தையை அங்கீகரிக்கிறது என்பதை நினைவில் கொள்க. இருப்பினும், "https://wiki.archlinux.org/" URL இல் தோன்றும் "லினக்ஸ்" என்ற வார்த்தையை இது முன்னிலைப்படுத்தாது. ஏனென்றால் அது சிறிய "எல்" உடன் தோன்றும், அதை நாங்கள் பெரிய எழுத்தில் தேடினோம். Grep கட்டளைக்கு இதற்கான விருப்பங்கள் உள்ளன, ஆனால் வழக்கமான வெளிப்பாடுகளைக் கையாளும் ஒரு கட்டுரையில் நான் அவற்றைப் பற்றி பேசப்போவதில்லை.

இந்த எளிய சோதனையின் மூலம் நாம் முதல் முடிவை எடுக்கலாம்:

  • ஒரு வழக்கமான வெளிப்பாட்டில் வைக்கப்படும் ஒரு சாதாரண எழுத்து தன்னை பொருத்துகிறது.

அதாவது "a" என்ற எழுத்தை வைத்தால் அது "a" என்ற எழுத்தைத் தேடும். இது தர்க்கரீதியானதாகத் தெரிகிறது, இல்லையா? 🙂

இப்போது நாம் "சென்டோ" என்ற வார்த்தையைத் தொடர்ந்து எந்த எழுத்தையும் தேட விரும்புகிறோம், ஆனால் ஒரே ஒரு எழுத்து மட்டுமே. இதற்காக நாம் "." எழுத்தை பயன்படுத்தலாம், இது எந்த எழுத்துக்கும் பொருந்தக்கூடிய வைல்டு கார்டு, ஆனால் ஒன்று மட்டுமே:

grep 'CentO.' regex

இதன் விளைவாக:

CentOS: http://wiki.centos.org/
சென்டோக்கள்: 14-05-2004 03:32:38

இதன் பொருள் "சென்டோஸ்" இல் "எஸ்" ஐ உள்ளடக்கியது, ஆனால் ஒரு விஷயத்தில் அது பெரிய எழுத்து மற்றும் மற்றொரு சிற்றெழுத்தில் உள்ளது. அந்த இடத்தில் வேறு ஏதேனும் கதாபாத்திரம் தோன்றினால், அதுவும் அதில் அடங்கும். எங்களுக்கு ஏற்கனவே இரண்டாவது விதி உள்ளது:

  • பாத்திரம் "." எந்த எழுத்துக்கும் பொருந்துகிறது.

இது இப்போது தோன்றியதைப் போல அற்பமானது அல்ல, ஆனால் இதைக் கொண்டு நாம் அதிகம் செய்ய முடியாது. இன்னும் கொஞ்சம் மேலே செல்லலாம். 2002 மற்றும் 2004 ஆம் ஆண்டு தோன்றும் வரிகளை நாம் கண்டுபிடிக்க விரும்புகிறோம் என்று வைத்துக்கொள்வோம்.அவை இரண்டு தேடல்கள் போலத் தோன்றுகின்றன, ஆனால் அவை ஒரே நேரத்தில் இதைச் செய்யலாம்:

grep '200[24]' regex

இதன் பொருள் 200 அல்லது 2 அல்லது 4 ஐத் தொடர்ந்து கண்டுபிடிக்க விரும்புகிறோம். இதன் விளைவாக இது:

ஆர்ச் லினக்ஸ்: 11-03-2002
ஜென்டூ: 31/03 /2002
சென்டோக்கள்: 14-05-2004 03:32:38
Ubuntu: 20/10/2004

இது மூன்றாவது விதிக்கு நம்மை அழைத்துச் செல்கிறது:

  • அடைப்புக்குறிக்குள் இணைக்கப்பட்ட பல எழுத்துக்கள் அடைப்புக்குறிக்குள் உள்ள எந்த எழுத்துகளுக்கும் பொருந்துகின்றன.

அடைப்புக்குறிகள் அதிக விளையாட்டைக் கொடுக்கும். அவை எழுத்துக்களை விலக்கவும் பயன்படுத்தப்படலாம். எடுத்துக்காட்டாக, ":" எழுத்து தோன்றும் தளங்களைக் கண்டுபிடிக்க விரும்புகிறோம், ஆனால் அதைத் தொடர்ந்து "/" இல்லை. கட்டளை இப்படி இருக்கும்:

grep ':[^/]' regex

இது ஒரு "^" ஐ அடைப்புக்குறிக்குள் முதல் எழுத்தாக வைப்பது ஒரு விஷயம். நீங்கள் விரும்பும் அனைத்து எழுத்துக்களையும் கீழே வைக்கலாம். இந்த கடைசி கட்டளையின் முடிவு பின்வருமாறு:

ArchLinux: https://wiki.archlinux.org/
Gentoo: https://wiki.gentoo.org/wiki/Main_Page
CentOS: http://wiki.centos.org/
Debian: https://wiki.debian.org/
Ubuntu: https://wiki.ubuntu.com/
Arch Linux: 11-03-2002 ஜென்டூ: 31/03/2002 CentO கள்: 14-05-2004 03:32:38 டெபியன்: 16/08/1993 உபுண்டு: 20/10/2004

இப்போது டிஸ்ட்ரோ பெயர்களுக்குப் பின்னால் உள்ள ":" முன்னிலைப்படுத்தப்பட்டுள்ளது, ஆனால் URL களில் உள்ளவை அல்ல, ஏனெனில் URL களுக்குப் பிறகு "/" உள்ளது.

  • அடைப்புக்குறியின் தொடக்கத்தில் "^" எழுத்தை வைப்பது அடைப்புக்குறியில் உள்ள மற்ற எழுத்துக்களைத் தவிர வேறு எந்த எழுத்துக்கும் பொருந்துகிறது.

நாம் செய்யக்கூடிய மற்றொரு விஷயம், எழுத்துக்களின் வரம்பைக் குறிப்பிடுவது. எடுத்துக்காட்டாக, "-" ஐத் தொடர்ந்து எந்த எண்ணையும் தேட இது இப்படி இருக்கும்:

grep '[0-9]-' regex

இதன் மூலம் 0 மற்றும் 9 க்கு இடையில் ஒரு எழுத்தை குறிப்பிடுகிறோம், பின்னர் ஒரு கழித்தல் அடையாளம். முடிவைப் பார்ப்போம்:

ஆர்ச் லினக்ஸ்: 11-03-2002 சென்டோக்கள்: 14-05-2004 03: 32: 38

ஒற்றை எழுத்துகளுடன் வரம்புகளைக் கலக்க அடைப்புக்குறிக்குள் பல வரம்புகளைக் குறிப்பிடலாம்.

  • அடைப்புக்குறிக்குள் "-" ஆல் பிரிக்கப்பட்ட இரண்டு எழுத்துக்களை வைப்பது வரம்பிற்குள் எந்த எழுத்துக்கும் பொருந்துகிறது.

URL களின் முதல் பகுதியைத் தேர்ந்தெடுக்க முடியுமா என்று இப்போது பார்ப்போம். "Http" அல்லது "https" என்று சொல்லும் ஒன்று. அவை இறுதி "களில்" மட்டுமே வேறுபடுகின்றன, எனவே அதை பின்வருமாறு செய்வோம்:

grep -E 'https?' regex

எழுத்தை அதன் இடது விருப்பமாக மாற்ற கேள்விக்குறி பயன்படுத்தப்படுகிறது. ஆனால் இப்போது கட்டளையில் -E விருப்பத்தை சேர்த்துள்ளோம். விசாரணை என்பது நீட்டிக்கப்பட்ட வழக்கமான வெளிப்பாடுகளின் அம்சமாகும். இதுவரை நாங்கள் அடிப்படை வழக்கமான வெளிப்பாடுகளைப் பயன்படுத்துகிறோம், எனவே நாங்கள் எதையும் வைக்க தேவையில்லை. முடிவைப் பார்ப்போம்:

ஆர்ச்லினக்ஸ்: : https: //wiki.archlinux.org/ ஜென்டூ: : https: //wiki.gentoo.org/wiki/Main_Page CentOS: : http: //wiki.centos.org/ டெபியன்: : https: //wiki.debian.org/ உபுண்டு: : https: //wiki.ubuntu.com/

எனவே எங்களுக்கு ஏற்கனவே ஒரு புதிய விதி உள்ளது:

  • "?" அந்த பாத்திரத்துடன் பொருந்துகிறது அல்லது எதுவுமில்லை. நீட்டிக்கப்பட்ட வழக்கமான வெளிப்பாடுகளுக்கு மட்டுமே இது செல்லுபடியாகும்.

இப்போது நாம் முற்றிலும் மாறுபட்ட இரண்டு சொற்களைத் தேடப் போகிறோம். "டெபியன்" மற்றும் "உபுண்டு" ஆகிய இரண்டையும் கொண்ட வரிகளை எவ்வாறு கண்டுபிடிப்பது என்று பார்ப்போம்.

grep -E 'Debian|Ubuntu' regex

செங்குத்து பட்டியில் நாம் இரண்டு அல்லது அதற்கு மேற்பட்ட வெவ்வேறு வழக்கமான வெளிப்பாடுகளை பிரித்து அவற்றில் ஏதேனும் பொருந்தக்கூடிய வரிகளைத் தேடலாம்:

டெபியன்: https://wiki.debian.org/
உபுண்டு: https://wiki.ubuntu.com/
டெபியன்: 16 / 08 / 1993
உபுண்டு: 20 / 10 / 2004
  • எழுத்து «|» அவற்றில் ஏதேனும் பல வழக்கமான வெளிப்பாடுகள் மற்றும் போட்டிகளைப் பிரிக்க உதவுகிறது. நீட்டிக்கப்பட்ட வழக்கமான வெளிப்பாடுகளுக்கும் இது குறிப்பிட்டது.

தொடரலாம். இப்போது நாம் "லினக்ஸ்" என்ற வார்த்தையைத் தேடப் போகிறோம், ஆனால் அது இடதுபுறத்தில் வேறொரு வார்த்தையில் சிக்கிக்கொள்ளாத இடத்தில் மட்டுமே. இதை நாம் இப்படி செய்யலாம்:

grep '\

இங்கே முக்கியமான பாத்திரம் "<", ஆனால் அதற்கு முன்னால் "\" வைப்பதன் மூலம் தப்பிக்க வேண்டும், இதனால் கிரெப் அதை ஒரு சிறப்பு எழுத்து என்று விளக்குகிறது. இதன் விளைவாக பின்வருமாறு:

ஆர்க் லினக்ஸ்: 11-03-2002 இருந்து லினக்ஸ் ரூலெஸ்.

ஒருவருக்கொருவர் சரியாக இல்லாத சொற்களைத் தேட "\>" ஐப் பயன்படுத்தலாம். ஒரு உதாரணத்துடன் செல்லலாம். இந்த கட்டளையை முயற்சிப்போம்:

grep 'http\>' regex

இது உற்பத்தி செய்யும் வெளியீடு இதுதான்:

CentOS: : http: //wiki.centos.org/

"Http" வெளிவந்தது, ஆனால் "https" அல்ல, ஏனென்றால் "https" இல் ஒரு வார்த்தையின் ஒரு பகுதியாக இருக்கக்கூடிய "p" இன் வலதுபுறத்தில் இன்னும் ஒரு எழுத்து உள்ளது.

  • "<" மற்றும் ">" எழுத்துக்கள் முறையே ஒரு வார்த்தையின் தொடக்கத்திற்கும் முடிவிற்கும் பொருந்துகின்றன. இந்த எழுத்துக்கள் தப்பிக்கப்பட வேண்டும், இதனால் அவை நேரடி எழுத்துக்கள் என்று பொருள் கொள்ளப்படாது.

நாங்கள் இன்னும் கொஞ்சம் சிக்கலான விஷயங்களுடன் செல்கிறோம். "+" எழுத்துக்குறி அதன் இடதுபுறத்துடன் பொருந்துகிறது, குறைந்தது ஒரு முறையாவது மீண்டும் மீண்டும் செய்யப்படுகிறது. இந்த எழுத்து நீட்டிக்கப்பட்ட வழக்கமான வெளிப்பாடுகளுடன் மட்டுமே கிடைக்கும். இதன் மூலம், ஒரு வரிசையில் பல எண்களின் வரிசைகளை ":" என்று தொடங்கலாம்.

grep -E ':[0-9]+' regex

முடிவு:

சென்டோக்கள்: 14-05-2004 03: 32: 38

38 என்ற எண்ணும் சிறப்பிக்கப்படுகிறது, ஏனெனில் இது ":" உடன் தொடங்குகிறது.

  • "+" எழுத்துக்குறி அதன் இடதுபுறத்துடன் பொருந்துகிறது, குறைந்தது ஒரு முறையாவது மீண்டும் மீண்டும் செய்யப்படுகிறது.

"{" மற்றும் "}" ஐப் பயன்படுத்தி மீண்டும் மீண்டும் செய்வதையும் நீங்கள் கட்டுப்படுத்தலாம். நாம் விரும்பும் சரியான எண்ணிக்கையிலான மறுபடியும் மறுபடியும் குறிக்கும் எண்ணை பிரேஸ்களில் வைப்பது யோசனை. நீங்கள் ஒரு வரம்பையும் வைக்கலாம். இரண்டு நிகழ்வுகளின் எடுத்துக்காட்டுகளைப் பார்ப்போம்.

முதலில் நாம் நான்கு இலக்க வரிசைகளையும் கண்டுபிடிக்கப் போகிறோம்:

grep '[0-9]\{4\}' regex

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

grep -E '[0-9]{4}' regex

இரண்டு நிகழ்வுகளிலும் இதன் விளைவாக இது இருக்கும்:

ஆர்ச் லினக்ஸ்: 11-03-2002
ஜென்டூ: 31/03 /2002
சென்டோக்கள்: 14-05-2004 03:32:38
Debian: 16/08/1993
உபுண்டு: 20/10 /2004
  • அவற்றுக்கு இடையேயான எண்ணைக் கொண்ட "{" மற்றும் "}" எழுத்துக்கள் முந்தைய எழுத்துக்குறியுடன் குறிப்பிட்ட எண்ணிக்கையிலான தடவைகள் மீண்டும் மீண்டும் பொருந்துகின்றன.

இப்போது பிரேஸ்களுடன் மற்ற உதாரணம். 3 முதல் 6 வரையிலான சிறிய எழுத்துக்களைக் கொண்ட சொற்களைக் கண்டுபிடிக்க விரும்புகிறோம் என்று வைத்துக்கொள்வோம். நாம் பின்வருவனவற்றைச் செய்யலாம்:

grep '[a-z]\{3,6\}' regex

இதன் விளைவாக இது இருக்கும்:

- எல்Ista de பக்கம்s விக்கி: TORCHLinux: : https: //விக்கி.archlinux.org/ ஜிஎன்டூ: : https: //விக்கி.ஜென்டூ.org/விக்கி/Mஐன்_Pவயது
Cஉள்ளிஓஎஸ்: : http: //விக்கி.CentOS.org/ டிஈபியன்: : https: //விக்கி.டெபியன்.org/ அல்லதுபூண்டு: : https: //விக்கி.உபுண்டு.காம்/ - எஃப்நீங்கள் இழக்கிறீர்கள் de வெளியீடு: TORCH Linux: 11-03-2002 ஜிஎன்டூ: 31/03/2002 சிஉள்ளிOs: 14-05-2004 03:32:38
Dஈபியன்: 16/08/1993 யுபூண்டு: 20/10/2004 டிஇது Linux Rulez.

நீங்கள் பார்க்க முடிந்தபடி, நாங்கள் விரும்பியதைப் போல இது இல்லை. ஏனென்றால் வழக்கமான வெளிப்பாடு நீளமான பிற சொற்களுக்குள் எழுத்துக்களைக் கண்டுபிடிக்கும். இந்த பிற பதிப்பை முயற்சிப்போம்:

grep '\<[a-z]\{3,6\}\>' regex

முடிவு:

- பக்கங்களின் பட்டியல் விக்கி: ஆர்ச்லினக்ஸ்: : https: //விக்கி.archlinux.org/ ஜென்டூ: : https: //விக்கி.ஜென்டூ.org/விக்கி/ முதன்மை_பக்கம் சென்டோஸ்: : http: //விக்கி.CentOS.org/ டெபியன்: : https: //விக்கி.டெபியன்.org/ உபுண்டு: : https: //விக்கி.உபுண்டு.காம்/

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

  • "{" மற்றும் "}" ஆகிய எழுத்துக்கள் அவற்றுக்கு இடையில் இரண்டு எண்களுடன் கமாவால் பிரிக்கப்பட்டன, முந்தைய எழுத்து இரண்டு எண்களால் சுட்டிக்காட்டப்பட்ட எண்ணிக்கையை மீண்டும் மீண்டும் செய்தது.

இப்போது "+" இன் முதன்மையான ஒரு பாத்திரத்தைப் பார்ப்போம். இது "*" மற்றும் அதன் செயல்பாடு பூஜ்ஜியம் உட்பட எத்தனை எழுத்துகளுடன் பொருந்துகிறதோ அது மிகவும் ஒத்திருக்கிறது. அதாவது, இது "+" ஐப் போலவே செய்கிறது, ஆனால் அதன் இடதுபுறத்தில் உள்ள எழுத்துக்குறி உரையில் தோன்றத் தேவையில்லை. எடுத்துக்காட்டாக, விக்கியில் தொடங்கி org இல் முடிவடையும் அந்த முகவரிகளைத் தேட முயற்சிப்போம்:

grep 'wiki.*org' regex

முடிவைப் பார்ப்போம்:

ArchLinux: https: //wiki.archlinux.org/ ஜென்டூ: https: //wiki.gentoo.org/ விக்கி / முதன்மை_பக்கம் CentOS: http: //wiki.centos.org/ டெபியன்: https: //wiki.debian.org/

Perfecto.

இப்போது நாம் பார்க்கப் போகும் கடைசி எழுத்து. "\" என்ற எழுத்து அதன் வலதுபுறத்தில் இருந்து தப்பிக்கப் பயன்படுகிறது, இதனால் அதன் சிறப்பு அர்த்தத்தை இழக்கிறது. எடுத்துக்காட்டாக: ஒரு புள்ளியுடன் முடிவடையும் வரிகளைக் கண்டுபிடிக்க விரும்புகிறோம். நமக்கு ஏற்படக்கூடிய முதல் விஷயம் இதுவாக இருக்கலாம்:

grep '.$' regex

இதன் விளைவாக நாம் தேடுவது அல்ல:

- விக்கி பக்கங்களின் பட்டியல்:
ஆர்ச்லினக்ஸ்: https://wiki.archlinux.org/
ஜென்டூ: https://wiki.gentoo.org/wiki/Main_Page
சென்டோஸ்: http://wiki.centos.org/
டெபியன்: https://wiki.debian.org/
உபுண்டு: https://wiki.ubuntu.com/
- வெளியீட்டு தேதிகள்: ஆர்ச் லினக்ஸ்: 11-03-2002
ஜென்டூ: 31/03/2002
CentOs: 14-05-2004 03:32:38
டெபியன்: 16/08/1993
உபுண்டு: 20/10/2004
Desde Linux ரூலெஸ்.

ஏனென்றால் "." எதையும் பொருத்துகிறது, இதனால் வழக்கமான வெளிப்பாடு ஒவ்வொரு வரியின் கடைசி எழுத்துக்கும் பொருந்துகிறது. தீர்வு இதுதான்:

grep '\.$' regex

இப்போது இதன் விளைவாக நாம் விரும்புவது:

Desde Linux ரூலெஸ்.

விளையாட்டு முடிந்தது

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

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


உங்கள் கருத்தை தெரிவிக்கவும்

உங்கள் மின்னஞ்சல் முகவரி வெளியிடப்பட்ட முடியாது. தேவையான புலங்கள் குறிக்கப்பட்டிருக்கும் *

*

*

  1. தரவுக்கு பொறுப்பு: மிகுவல் ஏஞ்சல் கேடன்
  2. தரவின் நோக்கம்: கட்டுப்பாட்டு ஸ்பேம், கருத்து மேலாண்மை.
  3. சட்டபூர்வமாக்கல்: உங்கள் ஒப்புதல்
  4. தரவின் தொடர்பு: சட்டபூர்வமான கடமையால் தவிர மூன்றாம் தரப்பினருக்கு தரவு தெரிவிக்கப்படாது.
  5. தரவு சேமிப்பு: ஆக்சென்டஸ் நெட்வொர்க்குகள் (EU) வழங்கிய தரவுத்தளம்
  6. உரிமைகள்: எந்த நேரத்திலும் உங்கள் தகவல்களை நீங்கள் கட்டுப்படுத்தலாம், மீட்டெடுக்கலாம் மற்றும் நீக்கலாம்.

  1.   Ezequiel அவர் கூறினார்

    ரீஜெக்ஸ் இல்லாமல் நம் வாழ்க்கை என்னவாக இருக்கும்?
    கட்டுரை மிகவும் பயனுள்ளதாக இருக்கிறது, ஆனால் நான் அதை கொஞ்சம் கொஞ்சமாக வாசிப்பேன். மிக்க நன்றி.

    1.    ஹெக்ஸ்போர்க் அவர் கூறினார்

      கருத்துக்கு நன்றி. எனது கட்டுரை வெளிவந்ததாக நான் இன்னும் நம்பவில்லை. 🙂 இது சில பிழைகளுடன் வெளிவந்துள்ளது, ஆனால் அது பயனுள்ளதாக இருக்கும் என்று நம்புகிறேன். 🙂

  2.   ஸ்காலிபூர் அவர் கூறினார்

    நன்றி!

    சில காலங்களுக்கு முன்பு நான் வழக்கமான வெளிப்பாடுகளைப் பற்றி கொஞ்சம் படிக்க வேண்டியிருந்தது .. .. கற்பித்ததற்கு நன்றி .. மேலும் அவை ஒவ்வொன்றையும் கற்றுக்கொள்ள படிப்படியான வழிகாட்டி ..

    மிகவும் நல்லது! .. .. நான் அந்த ஆஸ்பிரின் பெறப் போகிறேன் .. ee

    1.    ஹெக்ஸ்போர்க் அவர் கூறினார்

      உங்களை வரவேற்கிறோம். தைரியம் மற்றும் வழக்கமான வெளிப்பாடுகள் உங்களுடன் இருக்க முடியாது. 🙂

  3.   டான்ராக்ஸ் அவர் கூறினார்

    அருமையான பதிவு! பெரிய வேலை. உங்களுக்கு எத்தனை மணி நேரம் பிடித்தது என்று எனக்கு ஆச்சரியமாக இருக்கிறது

    1.    ஹெக்ஸ்போர்க் அவர் கூறினார்

      LOL !! கேள்வி என்னவென்றால்: நான் சொல்ல நினைத்த அனைத்தையும் நான் சொல்லியிருந்தால் எத்தனை மணி நேரம் ஆகும்? எல்லையற்ற !! 🙂

  4.   தம்முஸ் அவர் கூறினார்

    ஒரு விஷயம் எனக்குத் தெரியாது, நல்ல கட்டுரை!

    1.    ஹெக்ஸ்போர்க் அவர் கூறினார்

      நன்றி. அதை உங்களுடன் பகிர்ந்து கொள்வது மகிழ்ச்சி அளிக்கிறது.

  5.   ஹெலினா_ரியு அவர் கூறினார்

    சிறந்த விளக்கம். வாழ்த்துக்கள்! மிகவும் பயனுள்ளதாக இருக்கும்!

    1.    ஹெக்ஸ்போர்க் அவர் கூறினார்

      நீங்கள் பயனுள்ளதாக இருப்பதில் மகிழ்ச்சி அடைகிறேன். எனவே எழுதுவது மகிழ்ச்சி அளிக்கிறது

  6.   எதிர்ப்பு அவர் கூறினார்

    இது எங்காவது சிறப்புக்கு செல்ல வேண்டும். பிரத்யேகத்தைப் போலவே ஆனால் ஒரு குறிப்பிட்ட பயனும் உள்ளது. மிகவும் பயனுள்ளதாக இருக்கிறது, இருப்பினும் இது Vim க்குப் பயன்படுத்தப்படுவதை நான் காண விரும்புகிறேன்.

    1.    ஹெக்ஸ்போர்க் அவர் கூறினார்

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

  7.   பெர்னாண்டோ அவர் கூறினார்

    நல்ல!

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

    இது ஏதேனும் ஆறுதல் என்றால், என்னுடையது மிகவும் புஸ்ஸி is

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

    வாழ்த்துக்கள் மற்றும் மிக நல்ல வேலை.

    1.    ஹெக்ஸ்போர்க் அவர் கூறினார்

      Muchas gracias.

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

  8.   எல்லேரி அவர் கூறினார்

    டம்மீஸ் =) க்கான வழக்கமான வெளிப்பாடுகள், இப்போது எனக்கு மிகவும் தெளிவாக உள்ளது, grep க்கு வண்ணத்துடன் வெளியீட்டைக் கொண்டிருப்பதற்கான ஒரு வழியாக, .bashrc alias grep = 'grep –color = always' இல் ஒரு மாற்றுப்பெயரை உருவாக்குவதன் மூலம். இது ஒருவருக்கு வேலை செய்கிறது.

    மேற்கோளிடு

    1.    ஹெக்ஸ்போர்க் அவர் கூறினார்

      உண்மை. அதை செய்ய மற்றொரு வழி. உள்ளீட்டிற்கு நன்றி. 🙂

  9.   KZKG ^ காரா அவர் கூறினார்

    O_O… பங்களிப்பு துண்டு !!! O_O ...
    இடுகைக்கு மிக்க நன்றி, நான் அப்படி ஏதாவது காத்திருந்தேன் lol, நான் அதை அமைதியாக வீட்டில் அமைதியாக படிக்க பூஜ்ய தொந்தரவுடன் லால் கவனம் செலுத்துகிறேன்.

    கட்டுரைக்கு நன்றி, நான் உண்மையில் செய்கிறேன்

    1.    ஹெக்ஸ்போர்க் அவர் கூறினார்

      நீங்கள் விரும்புவீர்கள் என்று எனக்குத் தெரியும். LOL !! உண்மை என்னவென்றால், பல விஷயங்கள் இல்லை, ஆனால் நான் ஏற்கனவே இரண்டாவது பகுதியை மனதில் வைத்திருக்கிறேன். 🙂

  10.   எலிசர் டாடஸ் அவர் கூறினார்

    சிறந்த கட்டுரை, நான் நேற்று மட்டும் படித்திருந்தால், இன்று நான் கொடுத்த வகுப்பு என் மாணவர்களுக்கு இன்னும் எளிதாக இருந்திருக்கும்!

    1.    ஹெக்ஸ்போர்க் அவர் கூறினார்

      LOL !! மிகவும் மோசமாக நான் தாமதமாக வந்தேன், ஆனால் அது உதவியாக இருப்பதில் மகிழ்ச்சி. 🙂

  11.   லியோடோரோ அவர் கூறினார்

    இறுதியாக !!!, இடுகை மிகவும் நல்லது… வழக்கமான வெளிப்பாடுகளை தெளிவாக விளக்கும் ஒன்றை நான் இறுதியாகக் கண்டேன்… ..

    1.    ஹெக்ஸ்போர்க் அவர் கூறினார்

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

      வாழ்த்துக்கள்.

  12.   ஷேக்ஸ்பியர் ரோட்ஸ் அவர் கூறினார்

    ஏய் எனக்கு உதவி தேவை, நான் / var / பதிவுகளில் ஒரு தேடலை செய்ய வேண்டும்: yymmdd, மற்றும் பதிவுகள் இது போன்ற 130901.log -130901.log, செப்டம்பர் 1 முதல் அக்டோபர் வரை உள்ள அனைத்தையும் நான் தேட வேண்டும் 11, செப்டம்பர் மாதத்தை நான் அகற்ற முடிந்தது, ஆனால் முழுமையான சங்கிலியை எப்படி செய்வது என்று எனக்குத் தெரியவில்லை:

    எ.கா: 1309 [0-3] செப்டம்பர் 1 முதல் 30 வரை பதிவுகளை எனக்குத் தருகிறது, ஆனால் அக்டோபர் 1 முதல் 11 வரை அதே சங்கிலியில் எப்படிப் பெறுவது என்று எனக்குத் தெரியவில்லை.

    1.    ஹெக்ஸ்போர்க் அவர் கூறினார்

      வழக்கமான வெளிப்பாடுகளைப் பயன்படுத்தி இதைச் செய்வது சற்று சிக்கலானது. இது போன்ற ஏதாவது வேலை செய்யக்கூடும் என்று எனக்கு ஏற்படுகிறது:

      13(09[0-3]|10(0|1[01]))

      இது ஒரு நீட்டிக்கப்பட்ட வழக்கமான வெளிப்பாடு. நீங்கள் எந்த கருவியைப் பயன்படுத்துகிறீர்கள் என்று நீங்கள் கூறவில்லை, எனவே கூடுதல் விவரங்களை என்னால் தர முடியாது.

      எப்படியிருந்தாலும், வழக்கமான வெளிப்பாடுகளைப் பயன்படுத்துவதற்குப் பதிலாக இதுதான் என்று நான் நினைக்கிறேன். இது போன்ற ஒன்றை நீங்கள் முயற்சி செய்யலாம்:

      கண்டுபிடி. -Newermt '01 sep '-அ! -Newermt '11 oct '-print

      அதிர்ஷ்டம். இது உங்களுக்கு உதவக்கூடும் என்று நம்புகிறேன்.

  13.   சிப்போ அவர் கூறினார்

    வணக்கம்! முதலில், இந்த பக்கம் எனது சிறந்த லினக்ஸ் தளங்களில் "முதல் 3" க்குள் இருப்பதால் உங்கள் பணிக்கு நன்றி சொல்ல விரும்பினேன்.
    நான் பயிற்சி செய்து கொண்டிருந்தேன், ஒரு தொலைபேசி எண்ணில் ஒரு RegExp எனக்கு ஏன் வேலை செய்யவில்லை என்று தெரியவில்லை, அது எனக்கு «-E missing ஐக் காணவில்லை (இந்த இடுகையின் நன்றியை நான் உணர்ந்தேன்).
    RegExp இல் பயிற்சிகள் இருக்கும் ஒரு நல்ல பி.டி.எஃப் அல்லது தளம் உங்களுக்குத் தெரியாதா என்று நான் உங்களிடம் கேட்க விரும்பினேன், இருப்பினும் ஒரு சிறிய கற்பனையுடன் அவற்றை நீங்களே கண்டுபிடித்து பயிற்சி செய்யலாம்.

    வாழ்த்துக்கள், பப்லோ.

  14.   காளி அவர் கூறினார்

    மிகவும் நல்லது, நான் அதையெல்லாம் படித்தேன், ஆம் இப்போது எனக்கு ஒரு ஆஸ்பிரின் தேவை

  15.   ஆஸ்கார் அவர் கூறினார்

    வழக்கமான வெளிப்பாடுகளை நான் பார்த்த சிறந்த விளக்கம். இந்த படைப்பைப் பகிர்ந்தமைக்கு ஆசிரியருக்கு எனது நன்றி.

    ஒரு வாழ்த்து.

  16.   அலெக்ஸாடர் அவர் கூறினார்

    நான் ஒரு நல்ல விளக்கத்தை மிகவும் விரும்பினேன்