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

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

Grep கட்டளையைப் பற்றி இன்னும் கொஞ்சம்

நான் sed பற்றி பேசத் தொடங்குவதற்கு முன், முந்தைய கட்டுரையில் விளக்கப்பட்டுள்ளதை சற்று முடிக்க grep கட்டளையைப் பற்றி இன்னும் கொஞ்சம் கருத்து தெரிவிக்க விரும்புகிறேன். நான் சொல்லப்போகும் அனைத்தும் இதற்கும் பொருந்தும். இதற்கும் தேடல்களுக்கும் இடையிலான உறவை பின்னர் பார்ப்போம்.

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

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

curl http://artigoo.com/lista-de-frases-comparativas-comicas 2>/dev/null | sed -n 's/.*\(.*\.\)<\/p>/\1/gp' > frases

 இது «சொற்றொடர்கள் name என்ற கோப்பை நீங்கள் தொடங்கும் கோப்பகத்தில் உங்களை விட்டுச்செல்லும். நீங்கள் அதைப் பார்த்து, கொஞ்சம் சிரிக்கலாம். 🙂

இப்போது சரியாக 6 சொற்களைக் கொண்ட சொற்றொடர்களைக் கண்டுபிடிக்க விரும்புகிறோம் என்று வைத்துக்கொள்வோம். ஒவ்வொரு வார்த்தைக்கும் பொருந்தக்கூடிய ஒரு வழக்கமான வெளிப்பாட்டை உருவாக்குவதில் சிரமம் உள்ளது. ஒரு சொல் என்பது எழுத்துக்களின் வரிசை, பெரிய எழுத்து அல்லது சிற்றெழுத்து போன்றவை '[a-zA-Z]+', ஆனால் இந்த எழுத்துக்களை எழுத்துக்களைத் தவிர மற்ற எழுத்துக்களால் பிரிக்க வேண்டும் என்பதையும் நீங்கள் குறிப்பிட வேண்டும், அதாவது இது போன்றது '[a-zA-Z]+[^a-zA-Z]+'. நினைவில் கொள்ளுங்கள்: அடைப்புக்குறிக்குள் உள்ள முதல் எழுத்தாக "^" என்பது வரம்புகளில் இல்லாத எழுத்துக்களுடன் பொருந்த விரும்புகிறோம் என்பதைக் குறிக்கிறது மற்றும் "+" 1 அல்லது அதற்கு மேற்பட்ட எழுத்துக்களைக் குறிக்கிறது.

ஒரு வார்த்தையுடன் பொருந்தக்கூடிய வழக்கமான வெளிப்பாடு எங்களிடம் ஏற்கனவே உள்ளது. இதை 6 உடன் இணைக்க, அதை 6 முறை மீண்டும் செய்ய வேண்டும். அதற்காக நாங்கள் விசைகளைப் பயன்படுத்தினோம், ஆனால் போடுவது பயனற்றது '[a-zA-Z]+[^a-zA-Z]+{6}', ஏனெனில் 6 வழக்கமான வெளிப்பாட்டின் கடைசி பகுதியை மீண்டும் நிகழ்த்தும், நாங்கள் விரும்புவது அனைத்தையும் மீண்டும் செய்ய வேண்டும், எனவே நீங்கள் வைக்க வேண்டியது இதுதான்: '([a-zA-Z]+[^a-zA-Z]+){6}'. அடைப்புக்குறிக்குள் நாம் ஒரு துணை வெளிப்பாட்டை உருவாக்குகிறோம், பிரேஸ்களுடன் அதை 6 முறை மீண்டும் செய்கிறோம். இப்போது நீங்கள் முழு வரியையும் பொருத்துவதற்கு முன்னால் ஒரு "^" மற்றும் பின்புறத்தில் "$" ஐ சேர்க்க வேண்டும். கட்டளை பின்வருமாறு:

grep -E '^([a-zA-Z]+[^a-zA-Z]+){6}$' frases

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

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

"+" வேலை செய்ய நீட்டிக்கப்பட்ட வழக்கமான வெளிப்பாடுகளைப் பயன்படுத்த விரும்புவதால் -E அளவுருவை வைப்பதைக் கவனியுங்கள். நாம் அடிப்படைகளைப் பயன்படுத்தினால், அடைப்பு மற்றும் பிரேஸ்களிலிருந்து தப்பிக்க வேண்டியிருக்கும்.

பின் குறிப்புகள் அல்லது பின் குறிப்புகள்

நீங்கள் எழுத்துப்பிழை சரிபார்ப்பை நிறுவியிருந்தால், உங்களிடம் சொற்களின் பட்டியல் இருக்கும் /usr/share/dict/words. இல்லையென்றால், இதை நீங்கள் வளைவில் நிறுவலாம்:

sudo pacman -S words

அல்லது டெபியனில்:

sudo aptitude install dictionaries-common

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

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

grep '^\(.\)\(.\)\(.\).\3\2\1$' /usr/share/dict/words

இது கொஞ்சம் விசித்திரமாக தெரிகிறது, இல்லையா? நாங்கள் அதை முயற்சித்தால், இதன் விளைவாக உங்கள் டிஸ்ட்ரோவின் மொழி மற்றும் உங்கள் பட்டியலில் உள்ள சொற்களைப் பொறுத்தது, ஆனால் என் விஷயத்தில், ஸ்பானிஷ் மொழியுடன், இதன் விளைவாக இது:

அனிலின் அனிலின் உருட்டல்

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

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

கீழேயுள்ள மூன்று எண்கள் அவர்களுக்கு முன்னால் உள்ள சாய்வுடன் வருகின்றன. இந்த வழக்கில், பட்டி முக்கியமானது. கீழேயுள்ள எண் ஒரு பின்தங்கிய குறிப்பு மற்றும் முந்தைய அடைப்புக்குறிக்குள் ஒன்றைக் குறிக்கிறது என்பதைக் குறிக்க இது பயன்படுகிறது. எடுத்துக்காட்டாக: parent 1 முதல் அடைப்புக்குறிப்பையும், \ 2 இரண்டாவது முதல், மற்றும் பலவற்றையும் குறிக்கிறது.

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

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

மாற்று வெளிப்பாடுகள்: sed கட்டளை

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

sed [-r] 's/REGEX/REPL/g' FICHERO

அல்லது:

COMANDO | sed [-r] 's/REGEX/REPL/g'

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

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

sed 's/#.*//g' /etc/fstab

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

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

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

sed 's/^/# /g' /etc/fstab

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

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

sed 's/\([A-Z]\)/(\1)/g' frases

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

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

sed 's/.*/"&"/g' frases

இந்த கட்டளையின் செயல்பாடு முந்தையதை ஒத்திருக்கிறது, இப்போது நாம் மாற்றுவது முழு வரியையும் ஒரே வரியுடன் அதைச் சுற்றியுள்ள மேற்கோள்களுடன் மட்டுமே. நாங்கள் "&" ஐப் பயன்படுத்துவதால், அடைப்புக்குறிக்குள் வைக்க வேண்டிய அவசியமில்லை.

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

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

  • ஒரு மனித பக்கத்தின் பிரிவுகளைக் காட்டு:

man bash | grep '^[A-Z][A-Z ]*$'

நிச்சயமாக, நீங்கள் பாஷ் கட்டளையை நீங்கள் விரும்பியதை மாற்றலாம். பின்னர் மனிதரிடமிருந்து, நீங்கள் நேரடியாகப் பயன்படுத்தும் ஆர்வமுள்ள பகுதிக்கு நேரடியாகச் செல்லலாம், நிச்சயமாக, ஒரு வழக்கமான வெளிப்பாடு. தேடத் தொடங்க «/ Press ஐ அழுத்தி எழுத«^ALIASES$I உதாரணமாக, ALIASES பிரிவுக்குச் செல்ல. சில ஆண்டுகளுக்கு முன்பு நான் வழக்கமான வெளிப்பாடுகளை உருவாக்கத் தொடங்கிய முதல் பயன்பாடு இது என்று நான் நினைக்கிறேன். இது போன்ற ஒரு தந்திரம் இல்லாமல் கையேட்டின் சில பக்கங்களை நகர்த்துவது கிட்டத்தட்ட சாத்தியமற்றது.

  • சிறப்பு உட்பட இயந்திரத்தின் அனைத்து பயனர்களின் பெயர்களையும் காட்டு:

sed 's/\([^:]*\).*/\1/' /etc/passwd

  • பயனர் பெயர்களைக் காண்பி, ஆனால் ஷெல் உள்ளவர்கள் மட்டுமே:

grep -vE '(/false|/nologin)$' /etc/passwd | sed 's/\([^:]*\).*/\1/g'

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

  • எண்கள் கோப்பில் உள்ள அனைத்து எண்களின் கடைசி மூன்று இலக்கங்களுக்கு முன் கமாவைச் செருகவும்:

sed 's/\(^\|[^0-9.]\)\([0-9]\+\)\([0-9]\{3\}\)/\1\2,\3/g' numbers

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

  •  ஒரு கோப்பிலிருந்து அனைத்து மின்னஞ்சல் முகவரிகளையும் பிரித்தெடுக்கவும்:

grep -E '\<[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}\>' FICHERO

  • ஒரு கோப்பில் தோன்றும் அனைத்து தேதிகளின் நாள், மாதம் மற்றும் ஆண்டு ஆகியவற்றைப் பிரிக்கவும்:

sed -r 's/([0-9]{2})[/-]([0-9]{2})[/-]([0-9]{4})/Día: \1, Mes: \2, Año: \3/g' FICHERO

  • எங்கள் உள்ளூர் ஐபி கண்டுபிடிக்க:

/sbin/ifconfig | grep 'inet .*broadcast' | sed -r 's/[^0-9]*(([0-9]+\.){3}[0-9]+).*/\1/g'

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

சில பயனுள்ள முகவரிகள்

வழக்கமான வெளிப்பாடுகள் தொடர்பான பயனுள்ள சில முகவரிகள் இங்கே:

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

முடிவுக்கு

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

ஏய்! …ஏய்! … எழுந்திரு! … நீங்கள் அனைவரும் தூங்குவது என்ன? 🙂

ஃபுயண்டெஸ்

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


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

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

*

*

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

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

    மாஸ்டர்லி !!!

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

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

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

        நான் அதை விரும்புகிறேன்!

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

          நான் ஏதாவது சரியாக செய்திருக்க வேண்டும். LOL !! 🙂

          உங்கள் கருத்துக்கு மிக்க நன்றி.

          1.    பிளேர் பாஸ்கல் அவர் கூறினார்

            மனிதனை எழுதுங்கள், தொடர்ந்து வைத்திருங்கள்.

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

            La பிளேயர் பாஸ்கல்: உங்களைப் போன்ற கருத்துகள் அதை ஊக்குவிக்கின்றன. மிக்க நன்றி !!

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

        நானும் அதை விரும்பினேன் ... நன்றி

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

          கருத்துக்கு நன்றி. இன்னும் சிலவற்றை எழுதலாம் என்று நம்புகிறேன். 🙂

  2.   மரியன் அவர் கூறினார்

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

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

    சியர்ஸ் மற்றும் மிக்க நன்றி!

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

      மிக்க நன்றி!! இது ஒரு மோசமான யோசனை அல்ல. இந்த நேரத்தில் இரண்டு மட்டுமே உள்ளன, ஆனால் நான் அதைப் பற்றி பின்னர் சிந்திப்பேன். 🙂

  3.   கியோவ் அவர் கூறினார்

    மிகச் சிறந்த கட்டுரை, 5+.

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

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

  4.   செபாஸ்டியன் அவர் கூறினார்

    அருமை! நான் பின்வரும் வெளிப்பாட்டை மாற்ற வேண்டும், அதை எப்படி செய்வது என்று எனக்குத் தெரியவில்லை:
    192.168.0.138/சர்வர் 192.168.0.111/data க்குள்
    சிக்கல் "/" சின்னத்தில் உள்ளது.
    நான் கட்டளையைப் பயன்படுத்துகிறேன்:
    கண்டுபிடி. -name "* .txt" -exec sed -i 's / TEXT1 / TEXT2 / g' {} \;
    இந்த வகை பணியை நினைவூட்டலுடன் செய்ய என்ன பயன்படுத்தப்படுகிறது, ஆனால் என்னால் முடியாது ...
    நான் அதை எப்படி செய்ய வேண்டும் என்று யாருக்கும் தெரியுமா?
    கட்டிப்பிடி!
    seba

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

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

      கண்டுபிடி. -name "* .txt" -exec sed -i 's / \ / Server / data / data / g' {} \;

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

      கண்டுபிடி. -name "* .txt" -exec sed -i 'கள் | / சேவையகம் | / தரவு | g' {} \;

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

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

  5.   செபாஸ்டியன் அவர் கூறினார்

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

    கண்டுபிடி. -name "* .txt" -exec sed -i 'கள் | 192 \ .168 \ .0 \ .238 \ / சேவையகம் | 192 \ .168 \ .0 \ .111 \ / தரவு | g' {} \;

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

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