Linux-дағы Sed командаларын пайдалану туралы қысқаша нұсқаулық

Linux sed командасына кіріспе

Linux операциялық жүйесі компьютердің файлдық жүйесімен жұмыс істеу үшін терминалдық пәрмендерді қолданады. Linux командалық сеансының негізгі қолданысы ағындық редактор үшін қысқа болып табылады, ол файлдың әрбір жолын немесе ағынды сызықтың белгілі бөліктерін ауыстыру арқылы өзгертеді. Бұл файлға негізгі мәтінді өзгертулер немесе құбырдан енгізуді жасайды. Мысалы, сізде осы жолдарды қамтитын «songs.text» деп аталатын файл бар дейді:

1, Джастин Тимберлейк, 545, Бағасы $ 6.30 2, Тейлор Свифт, Тақырып 723, Бағасы $ 7.90 3, Мик Джаггер, Атауы 610, Бағасы $ 7.90 4, Леди Гага, 118-басылым, Бағасы $ 6.30 5, Johnny Cash, Атауы 482, Бағасы $ 6.50 6, Элвис Пресли, Атауы 335, Бағасы $ 6.30 7, Джон Леннон, Тақырып 271, Бағасы $ 7.90

Мәтінді ауыстыруды Сед

Егер сіз барлық бағаларды $ 6.30-дан $ 7.30-ға дейін өзгертуді қаласаңыз, sed-пәрменін пайдаланып өзгертулерді мына жолмен жасай аласыз:

sed 's / 6.30 / 7.30 /' songs.txt> songs2.txt

Бұл код өзгерісті жасайды және өзгертілген файлды «songs2.txt» деп жазады. Шығыс файлында мыналар бар:

1, Джастин Тимберлейк, 545, Бағасы $ 7.30 2, Тейлор Свифт, Тақырып 723, Бағасы $ 7.90 3, Мик Джаггер, Атауы 610, Бағасы $ 7.90 4, Леди Гага, 118-басылым, Бағасы $ 7.30 5, Johnny Cash, Аталым 482, Бағасы $ 6.50 6, Элвис Пресли, Атауы 335, Бағасы $ 7.30 7, Джон Леннон, Тақырып 271, Бағасы $ 7.90

«Ақша» деген барлық кездесулерді «Қоқыс» дегенмен ауыстырғыңыз келсе, сіз:

sed 's / Cash / Trash /' әндері.txt> songs2.txt

ол мазмұны бар файлды жасайды:

1, Джастин Тимберлейк, 545, Бағасы $ 7: 30 2, Тейлор Свифт, Тақырып 723, Бағасы $ 7.90 3, Мик Джаггер, Атауы 610, Бағасы $ 7.90 4, Леди Гага, Аталым 118, Бағасы $ 7: 30 5, Johnny Trash 482, Бағасы $ 6.50 6, Элвис Пресли, Атауы 335, Бағасы $ 7: 30 7, Джон Леннон, Тақырып 271, Бағасы $ 7.90

Сэд командасымен сүзу

Sed ақ файлдағы немесе ағындағы жолдарды сүзу үшін жиі пайдаланылады. Мысалы, сіз тек «Джон» деген жолдарды көргіңіз келсе:

sed -n '/ John / p' songs.txt> johns.txt

johns.txt файлын жазу үшін келесі жолдарды жазады:

5, Johnny Trash, Тақырып 482, Бағасы $ 6.50 7, Джон Леннон, Тақырып 271, Бағасы $ 7.90