& கட்டளை வரியிலிருந்து பல ஆவணங்களில் உரையை மாற்றவும்
கட்டளை வரியில் நீங்கள் வசதியாக இருந்தால், பல உரை ஆவணங்களின் குழுவில் ஒரு சொல், சொற்றொடர், URL அல்லது எழுத்தைக் கண்டுபிடித்து மாற்ற வேண்டிய சூழ்நிலையில், perl அந்த வேலையைச் சிறப்பாகச் செய்கிறது. ஒரு எளிய கட்டளை சரமானது, ஒரு குழு தொகுப்பைக் கண்டுபிடித்து உரையை மாற்றும், ஒரு ஆவணமாக இருந்தாலும் அல்லது பல ஆவணங்களின் குழுவில் பரவியிருந்தாலும்.
கட்டளை வரியில் உள்ள பல விஷயங்களைப் போலவே, உறுதிப்படுத்தல் செயல்முறை எதுவும் இல்லை, எனவே கட்டளையைத் தொடங்குவதற்கு முன் உங்கள் தொடரியல் சரியாக அமைக்கப்பட்டிருப்பதை உறுதிசெய்ய வேண்டும், இல்லையெனில் நீங்கள் மற்றொரு கண்டுபிடித்து மாற்ற வேண்டியிருக்கும். உங்கள் எழுத்துப்பிழையை சரிசெய்ய.
அடிப்படை கட்டளை தொடரியல் பின்வருமாறு: perl -pi -w -e 's/THIS/THAT/g;' /path/to/files.txt
ஒரு ஒரு வார்த்தை உதாரணத்திற்கு, ஒவ்வொரு .txt கோப்பிலும் "ஓக்ரே" இன் அனைத்து நிகழ்வுகளையும் "கார்ன்பிரெட்" என்று மாற்ற வேண்டும் என்றால் "ஆவணங்கள்" கோப்புறையில், நீங்கள் பின்வரும் கட்டளையைப் பயன்படுத்துவீர்கள்:
perl -pi -w -e 's/ogre/cornbread/g;' ~/ஆவணங்கள்/.txt
ஒரு முழு வாக்கியத்தைக் கண்டுபிடித்து மாற்றுவதற்கான எடுத்துக்காட்டுக்கு "The Wizard of Oz" உடன் .txt கோப்புகளின் குழுவில் "Films" என்று தொடங்கும் ஆவணங்கள் கோப்பகத்தில் சேமிக்கப்பட்டுள்ளது:
perl -pi -w -e 's/The Chocolate Factory/The Wizard of Oz/g;' ~/ஆவணங்கள்/படங்கள்.txt
கண்டுபிடித்தல் மற்றும் மாற்றுதல் உடனடியாக செய்யப்படுகிறது. பூனை மற்றும் கிரெப்பைப் பயன்படுத்தி மாற்றத்தை இருமுறை சரிபார்க்கலாம்:
பூனை ~/Documents/Films124.txt |grep Wizard of Oz"
ஒப்புக்கொள்ளத்தக்க வகையில், இது மிகவும் மேம்பட்டது, ஆம், TextWrangler மற்றும் BBEdit போன்ற GUI பயன்பாடுகள் மூலம் பல ஆவணங்களைத் தொகுப்பைக் கண்டுபிடித்து மாற்றுவது மிகவும் பயனர் நட்பு முறையில் செய்யப்படலாம், ஆனால் சில நேரங்களில் கட்டளை வரி வேகமாக இருக்கும். இது போன்ற விரைவுப் பணிகளுக்கும் அதுபோன்ற பிறவற்றிற்கும், மேலும் இதைப் பயன்படுத்த கூடுதல் பதிவிறக்கங்கள் எதுவும் தேவையில்லை.
சிறந்த தந்திரத்திற்காக லைஃப்ஹேக்கருக்கு ஒரு பெரிய தம்ஸ் அப்.
புதுப்பிப்பு: 'sed' கட்டளை என்பது கட்டளை வரியின் மூலம் விரைவாக கண்டுபிடித்து மாற்றுவதற்கான மற்றொரு வழியாகும். sed உள்ளடக்கியது பெரும்பாலும் மற்றொரு கட்டுரைக்கான தலைப்பு, ஆனால் இந்த பணிக்கு sed ஐப் பயன்படுத்துவதற்கான அடிப்படை தொடரியல் சற்று எளிமையானது மற்றும் நினைவில் கொள்வது எளிது:
sed -i 's/THIS/THAT/g' /path/to/files.txt
சரி அல்லது தவறான வழி இல்லை, எனவே நீங்கள் perl அல்லது sed ஐப் பயன்படுத்துவது தனிப்பட்ட விருப்பமாகிறது.