லினக்ஸில் Sed ஐ எவ்வாறு பயன்படுத்துவது

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

இந்த வகை உரை திருத்தியை ஊடாடாத உரை திருத்தி என்றும் வகைப்படுத்தலாம்.

Sed ஐப் பயன்படுத்தி கோப்புகளைத் திருத்துவதற்கான சில பொதுவான விருப்பங்களைப் பார்ப்போம். பின்வரும் கோப்பை உதாரணமாக எடுத்துக்கொள்வோம்:

$: cat test.txt ஒரு விரைவான பழுப்பு நிற நாய் சோம்பேறி பூனையின் மீது பாய்ந்தது. லினக்ஸ் ஆப்பரேட்டிங் சிஸ்டம். எனது இடத்திற்கு அருகிலுள்ள காட்டில் ஒரு பூனை மற்றும் ஓநாய்கள் உள்ளன. 

தேடவும் மற்றும் மாற்றவும்

ஒரு கோப்பில் ஒரு சரத்தைத் தேட மற்றும் மற்றொரு சரத்துடன் மாற்ற, இயக்கவும்:

sed -i "s/cat/fox/g" test.txt

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

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

Regex ஐயும் இங்கே பயன்படுத்தலாம்.

sed -i "s/f[a-z]*\./cat\./g"

செருகு

பொருந்திய சரம் கொண்ட வரியின் முன் உரையைச் செருக, பயன்படுத்தவும்:

sed -i "/cat/i Start:" test.txt

இங்கே, பூனை தேடப்பட்ட சரம் மற்றும் தொடக்கம்: தேடப்பட்ட சரம் காணப்படும் வரிக்கு முன் உள்ளிட வேண்டிய சரம்.

இதேபோல், ஒரு வரிக்குப் பிறகு உரையைச் செருக, பயன்படுத்தவும்:

sed -i "/fox/a End." test.txt

அழி

துணை சரம் கொண்ட வரியை நீக்க, பயன்படுத்தவும்:

sed -i "/Linux/d" test.txt

வரி எண்ணுடன் ஒரு வரியை நீக்க, எ.கா. முதல் வரி, பயன்படுத்தவும்:

sed -i '1d' test.txt

பல செயல்பாடுகளை ஒருங்கிணைத்தல்

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

sed -i -e "s/fox/cat/g" -e '2d' test.txt

? சியர்ஸ்!