Linux sed komandasına giriş
Linux əməliyyat sistemi kompüter fayl sistemi ilə işləmək üçün terminal əmrlərindən istifadə edir. Dərhal redaktoru üçün qısa olan Linux komandasının başlıca istifadəsi xəttin müəyyən hissələrini əvəz etməklə bir faylın və ya streamin hər bir xəttini dəyişdirməkdir. Bir boru kəmərindən fayl və ya girişə əsas mətn dəyişiklikləri edir. Məsələn, bu xətləri ehtiva edən "songs.text" adlı bir fayl var:
1, Justin Timberlake, Mövzu 545, Qiymət $ 6.30 2, Taylor Swift, Mövzu 723, Qiymət $ 7.90 3, Mick Jagger, Sərvət 610, Qiymət $ 7.90 4, Lady Gaga, Başlıq 118, Qiymət $ 6.30 5, Johnny Cash, Mövzu 482, Qiyməti 6.50 $ 6, Elvis Presley, Title 335, Qiymət $ 6.30 7, John Lennon, Başlıq 271, Qiymət $ 7.90Sed ilə mətn əvəz edilməsi
Bütün qiymətlərin 6.30-dan $ 7.30-a qədər dəyişdirilməsini istəyirsinizsə, sed ilə bu şəkildə dəyişiklikləri edə bilərsiniz:
sed 's / 6.30 / 7.30 /' songs.txt> songs2.txtBu kod dəyişiklik edir və redaktə edilmiş faylları "songs2.txt" yazır. Çıxış faylı aşağıdakılardır:
1, Justin Timberlake, Title 545, Qiymət $ 7.30 2, Taylor Swift, Title 723, Qiymət $ 7.90 3, Mick Jagger, Sərvət 610, Qiymət $ 7.90 4, Lady Gaga, Başlıq 118, Qiymət $ 7.30 5, Johnny Cash, Mövzu 482, Qiyməti 6.50 $ 6, Elvis Presley, Title 335, Qiymət $ 7.30 7, John Lennon, Başlıq 271, Qiymət $ 7.90"Nağd pul" nun "Çöp" ilə dəyişməsini istəyirsinizsə, istifadə edin:
sed 's / Nakit / Çöp /' songs.txt> songs2.txtməzmunlu bir fayl yaradır:
1, Justin Timberlake, Title 545, Qiymət $ 7: 30 2, Taylor Swift, Mövzu 723, Qiymət $ 7.90 3, Mick Jagger, Başlıq 610, Qiymət $ 7.90 4, Lady Gaga, Başlıq 118, Qiymət $ 7: 30 5, Johnny Trash, 482, Qiymət $ 6.50 6, Elvis Presley, Title 335, Qiymət $ 7: 30 7, John Lennon, Başlıq 271, Qiymət $ 7.90Sed Komandirliyi ilə filtrasiya
Sed bir faylda və ya streamdə xətləri silmək üçün tez-tez istifadə olunur. Məsələn, yalnız "John" olan xəttləri görmək istəyirsinizsə, istifadə edirsiniz:
sed -n '/ John / p' songs.txt> johns.txtjohns.txt faylını yazmaq üçün aşağıdakı xətləri yazır:
5, Johnny Trash, Başlıq 482, Qiymət $ 6.50 7, John Lennon, Başlıq 271, Qiymət $ 7.90