Linux'ta Sed Nasıl Kullanılır

Seed akış düzenleyici anlamına gelir. Linux için komut satırı tabanlı bir düzenleyicidir. sed'in popüler kullanımı, Linux'ta bir otomasyon komut dosyasının parçası olarak dosya(lar)ı düzenlemek içindir, çünkü normal editörler aktif kullanıcı girişi gerektirir ve dosyaları editör ekranlarının dışında düzenleyemezler. Sed, en yaygın olarak komut satırından bul ve değiştir işlemi yapmak için kullanılır.

Bu tür bir metin düzenleyici, etkileşimli olmayan bir metin düzenleyici olarak da kategorize edilebilir.

Sed kullanarak dosyaları düzenlemek için bazı yaygın seçenekleri görelim. Aşağıdaki dosyayı örnek olarak alacağız:

$: cat test.txt Hızlı kahverengi bir köpek tembel kedinin üzerinden atladı. Linux İşletim Sistemi. Evimin yakınındaki Ormanda kurtların yanı sıra bir kedisi var. 

Ara ve Değiştir

Bir dosyada bir dize aramak ve başka bir dizeyle değiştirmek için şunu çalıştırın:

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

burada, -Bence flag sed'e değişiklikleri dosyaya yazmasını söyler. Bu bayrak olmadan, sed dosyayı değiştirilen dizeyle gösterecek.

Alıntılarda, biz var s/kedi/tilki/g. bu s arama ve değiştirme komutu içindir sed. Sonra aranacak dizgemiz var, ki bu kedi. Ardından, değiştirilecek dize, yani tilki. Son olarak, isteğe bağlı G, hangi talimat sed dosyanın tüm satırlarındaki tüm oluşumları değiştirmek için. olmadan G, sed yalnızca ilk oluşumunun yerini alacak kedi her satırda.

Regex burada da kullanılabilir.

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

Sokmak

Eşleşen bir dizeye sahip bir satırın önüne metin eklemek için şunu kullanın:

sed -i "/cat/i Başlangıç:" test.txt

Burada, kedi aranan dizedir ve Başlangıç: aranan dizenin bulunduğu satırdan önce girilecek dizedir.

Benzer şekilde, bir satırdan sonra metin eklemek için şunu kullanın:

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

Silmek

Alt dize içeren bir satırı silmek için şunu kullanın:

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

Satır numarası olan bir satırı silmek için, örn. ilk satır, şunu kullanın:

sed -i '1d' testi.txt

Birden fazla işlevi birleştirmek

Birden çok işlevi birleştirmek için, örn. tek bir komutta arama ve değiştirme, silme, -e bayrak kullanılabilir.

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

? Şerefe!