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!