Provided by: manpages-tr_2.0.6-2_all bug

İSİM

       sed - metni süzmek ve dönüştürmek için akım düzenleyici

KULLANIM

       sed SEÇENEKLER... [BETİK] [GİRDİ-DOSYASI...]

AÇIKLAMA

       sed bir akım düzenleyicisidir. Akım düzenleyicisi girdi akımında (dosya veya boru hattı
       girdisi) temel metin dönüşümlerini gerçekleştirmek için kullanılır. Bazı yönlerden komut
       dosyasıyla düzenlemelere (ed gibi) izin veren bir düzenleyiciye benzese de, sed girdi(ler)
       üzerinden yalnızca bir geçiş yaparak çalışır ve sonuç olarak daha verimlidir. Ancak, onu
       diğer düzenleyicilerden özellikle ayıran, sed’in bir boru hattındaki metni süzme
       yeteneğidir.

   sed nasıl çalışır
       sed iki veri tamponu tutar: etkin kalıp alanı ve yardımcı tutma alanı. Her ikisi de
       başlangıçta boştur.

       sed, her girdi satırında şöyle bir döngü gerçekleştirerek çalışır: ilk olarak, sed girdi
       akımından bir satır okur, satır sonu karakterini kaldırıp satırı kalıp alanına
       yerleştirir. Ardından komutlar yürütülür; her komutun kendisiyle ilişkili bir adresi
       vardır: adresler bir tür koşul kodudur ve bir komut yalnızca, koşul doğrulanırsa
       yürütülür.

       Betiğin sonuna ulaşıldığında, -n seçeneği kullanımda değilse, kalıp alanının içeriği çıktı
       akımına yazılır ve kaldırılmışsa satır sonu karakteri de satırın sonuna eklenir. Ardından,
       bir sonraki girdi satırı için bir sonraki döngü başlar.

       ’D’ gibi özel komutlar kullanılmadıkça, iki döngü arasında kalıp alanı silinir. Tutma
       alanındaki veriler ise döngüler arasında saklanır (verileri iki tampon arasında taşıyan
       ’h’, ’H’, ’x’, ’g’, ’G’ komutlarına da bakınız).

SEÇENEKLER

       --version
           sed sürüm ve telif hakkı bilgilerini gösterir ve çıkar.

       --help
           Komut satırını, seçeneklerin kısa açıklamalarını ve hata bildirim adresini gösterir ve
           çıkar.

       -n, --quiet, --silent
           Öntanımlı olarak, sed betik üzerinden her döngünün sonunda kalıp alanını çıktılar
           (bkz: sed nasıl çalışır). Bu seçenekler bu öntanımlı çıktılamayı devre dışı bırakır ve
           sed yalnızca p komutu ile çıktı üretir.

       --debug
           Girilen sed uygulamasını kurallı biçimde çıktılayıp işlemin açıklamasını ekler.

               $ echo 1 | sed ’\%1%s21232’
               3

               $ echo 1 | sed --debug ’\%1%s21232’
               SED PROGRAM:
                 /1/ s/1/3/
               INPUT:   ’STDIN’ line 1
               PATTERN: 1
               COMMAND: /1/ s/1/3/
               MATCHED REGEX REGISTERS
                 regex[0] = 0-1 ’1’
               PATTERN: 3
               END-OF-CYCLE:
               3

       -e[BETİK], --expression[=BETİK]
           Girdi işlenirken çalıştırılacak komut kümesine BETİKteki komutları ekler.

       -f[BETİK], --file[=BETİK]
           Girdi işlenirken çalıştırılacak komut kümesine BETİK dosyasındaki komutları ekler.

       -i[SONEK], --in-place[=SONEK]
           Bu seçenek, dosyaların yerinde düzenleneceğini belirtir. GNU sed bunu geçici bir dosya
           oluşturarak ve standart çıktı yerine bu dosyaya çıktı göndererek yapar. Bu, =, a, c,
           i, l, p gibi komutlar için geçerlidir. /dev/stdout özel dosyasıyla birlikte w veya W
           komutunu kullanarak standart çıktıya yine de yazabilirsiniz.

           Bu seçenek örtük olarak -s seçeneğini de uygular.

           Dosyanın sonuna ulaşıldığında, geçici dosya, çıktı dosyasının özgün adıyla yeniden
           adlandırılır. Sağlanmışsa, SONEK, geçici dosyayı yeniden adlandırmadan önce eski
           dosyanın adını değiştirmek ve böylece yedek bir kopya oluşturmak için kullanılır.

           Bilgi:
               GNU sed herhangi bir çıktının gerçekten değişip değişmediğine bakmaksızın
               yedekleme dosyasını oluşturacaktır.

           Şu kural izlenir: SONEK bir * içermiyorsa, geçerli dosya adının sonuna uzantı olarak
           eklenir; SONEK bir veya daha fazla * karakteri içeriyorsa, her yıldız imi geçerli
           dosya adıyla değiştirilir. Bu, bir sonek yerine (veya buna ek olarak) yedekleme
           dosyasına bir önek eklemenize ve hatta özgün dosyaların yedeklerini başka bir dizine
           (dizinin mevcut olması koşuluyla) yerleştirmenize olanak tanır.

           SONEK belirtilmemişse yedekleme yapılmaksızın özgün dosyanın üzerine yazılır.

           -i seçeneği isteğe bağlı girdi aldığından ardından başka bir kısa seçenek
           gelmemelidir:

               sed -Ei ’...’ DOSYA

           Yedekeme soneki olmaksızın -E -i ile aynıdır. DOSYA yedeği alınmadan yerinde
           düzenlenir.

               sed -iE ’...’ DOSYA

           --in-place=E seçeneğine eşdeğer olup DOSYA yedeği olarak DOSYAE oluşturulur.

           -n’yi -i ile kullanırken dikkatli olun: ilki satırların otomatik çıktılanmasını devre
           dışı bırakır ve ikincisi dosyayı yedeklemeden yerinde değiştirir. Dikkatsizce
           kullanıldığında (ve açık bir p komutu olmadan), çıktı dosyası boş olacaktır:

               # YANLIŞ KULLANIM: ’DOSYA’ kırpılır.
               sed -ni ’s/foo/bar/’ DOSYA

       -l[N], --line-length[=N]
           l komutu için satır sarmalama uzunluğunu belirler. 0 belirtilirse satırlar asla
           sarmalanmaz. Hiç belirtilmezse 70 öntanımlıdır.

       --posix
           GNU sed, POSIX sed’e göre birkaç eklenti içerir. Taşınabilir betikler yazmayı
           basitleştirmek için bu seçenek, ek komutlar da dahil olmak üzere bu kılavuzun
           belgelediği tüm eklentileri devre dışı bırakır. Çoğu sed uygulaması, POSIX tarafından
           zorunlu kılınan sözdiziminin dışındaki eklentilerin çoğunu kabul eder, ancak bazı
           eklentiler (Geribildirim bölümünde açıklanan N komutunun davranışı gibi) aslında
           standardı ihlal eder. Yalnızca standardı ihlal eden eklentiler devre dışı bırakılmak
           istenirse, POSIXLY_CORRECT değişkeni boş olmayan bir değere ayarlanabilir.

       -b, --binary
           Bu seçenek her platformda mevcuttur, ancak yalnızca işletim sisteminin metin dosyaları
           ile ikili dosyalar arasında bir ayrım yaptığı durumlarda etkilidir. Böyle bir ayrım
           yapıldığında (MS-DOS, Windows, Cygwin’de olduğu gibi) metin dosyaları bir satır sonu
           ve bir satır başı karakteri ile ayrılmış satırlardan oluşur ve sed sonlandıran satır
           başını görmez. Bu seçenek belirtildiğinde, sed girdi dosyalarını ikil kipte açar,
           böylece bu özel işlemi talep etmez ve satırların bir satır başı ile bitmesini dikkate
           alır.

       --follow-symlinks
           Bu seçenek yalnızca sembolik bağları destekleyen platformlarda kullanılabilir ve
           yalnızca -i seçeneği belirtilmişse bir etkiye sahiptir. Bu durumda, komut satırında
           belirtilen dosya sembolik bağ ise, sed bağlantıyı takip edecek ve bağlantının nihai
           hedefini düzenleyecektir. Öntanımlı davranış, sembolik bağı koparmaktır, böylece
           bağlantı hedefi değiştirilmez.

       -E, -r, --regexp-extended
           Temel düzenli ifadeler yerine genişletilmiş düzenli ifadeler kullanılır. Genişletilmiş
           düzenli ifadeler, egrep(1)’in kabul ettiği ifadelerdir; genellikle daha az ters eğik
           çizgiye sahip oldukları için bunlar daha okunaklıdır. Tarihsel olarak bu bir GNU
           eklentisi idi, ancak -E eklentisi artık POSIX standardına eklendiğinden
           (http://austingroupbugs.net/view.php?id=528) -E seçeneği yalnızca taşınabilirlik için
           kullanılır oldu. GNU sed yıllarca -E’yi belgelendirilmemiş bir seçenek olarak kabul
           etti ve *BSD sed’leri de yıllarca -E’yi kabul etti, ancak -E kullanan betikler diğer
           eski sistemlere taşınamayabilir. Bkz. Genişletilmiş Düzenli İfadeler

       -s, --separate
           Öntanımlı olarak, sed komut satırında belirtilen dosyaları tek bir sürekli uzun akım
           olarak kabul eder. Bu GNU sed eklentisi, kullanıcının bunları ayrı dosyalar olarak
           görmesine izin verir: aralık adreslerinin (’/abc/,/def/’ gibi) birden fazla dosyaya
           yayılmasına izin verilmez, satır numaraları her dosyanın başlangıcına görelidir, $ her
           dosyanın son satırını ifade eder ve R komutları ile çağrılan dosyalar dosya
           başlangıcına geri sarılır.

       --sandbox
           Korumalı alan tipinde, e/w/r komutları reddedilir - bunları içeren betikler
           çalıştırılmadan iptal edilir. Korumalı alan kipi, sed’in yalnızca komut satırında
           belirtilen girdi dosyalarında çalışmasını ve harici betikleri çalıştıramamasını
           sağlar.

       -u, --unbuffered
           Hem girdiyi hem de çıktıyı mümkün olan en düşük düzeyde tamponlar. (Bu, özellikle
           girdi "tail -f" benzeri komutlardan geliyorsa ve dönüştürülen çıktının mümkün olan en
           kısa sürede görülmesi isteniyorsa kullanışlıdır.)

       -z, --null-data, --zero-terminated
           Girdiyi, her satırı, satır sonu yerine boş karakter (ASCII ’NUL’ karakteri) ile
           sonlandırılmış bir satır kümesi olarak ele alır. Bu seçenek, rastgele dosya adlarını
           işlemek için "sort -z" ve "find -print0" gibi komutlarla kullanılabilir.

       Komut satırında -e, -f, --expression veya --file seçeneği verilmezse, komut satırındaki
       seçenek olmayan ilk girdi yürütülecek betik dosyası olarak alınır.

       Yukarıdakilerin işlenmesinden sonra herhangi bir komut satırı girdisi kalırsa, bu girdiler
       işlenecek girdi dosyalarının adları olarak yorumlanır. ’-’ dosya adı, standart girdi
       akımını ifade eder. Hiçbir dosya adı belirtilmemişse standart girdi okunur.

KOMUTLAR

       GNU sed aşağıdaki komutları destekler. Bazıları standart POSIX komutlarıdır, diğerleri ise
       GNU eklentisidir.

       a \
       metin
           Satırın ardına metini ekler.

       a metin
           Satırın ardına metini ekler (başka bir sözdizimi).

       b [YAFTA]
           Koşulsuz olarak YAFTAya dallanır. YAFTA belirtilmemişse sonraki döngü başlatılır.

       c \
       metin
           Seçili satırları, satır sonu karakterlerinin yerine ters eğik çizgiler yerleştirilmiş
           metin ile değiştirir.

       c metin
           Satırları metin ile değiştirir (başka bir sözdizimi).

       d   Kalıp alanını silip sonraki döngüyü başlatır.

       D   Kalıp alanı satır sonu karakterlerini içeriyorsa, kalıp alanındaki metni ilk satır
           sonu karakterine kadar silip yeni bir girdi satırı okumaksızın kalıp alanında
           kalanlarla döngüyü yeniden başlatır.

           Kalıp alanı satır sonu karakteri içermiyorsa, d komutu kullanılmış gibi yeni dongüyü
           normal olarak başlatır.

       e   Kalıp alanında bulunan komutu yürütüp, çıktıyı kalıp alanının üzerine sondaki satır
           sonu karakteri olmaksızın yazar.

       e KOMUT
           KOMUT yürütülüp çıktısı çıktı akımına gönderilir. KOMUT, ters eğik çizgi ile bitenler
           dışında, birden çok satırda çalışabilir.

       F   Geçerli girdi dosyasının ismini satır sonu karakteri ile birlikte çıktıya yazar.

       g   Kalıp alanının içeriğini tutma alanının içeriği ile değiştirir.

       G   Kalıp alanının içeriğine satır sonu karakterini ekledikten sonra tutma alanının
           içeriğini kalıp alanının içeriğine ekler.

       h   Tutma alanının içeriğini kalıp alanının içeriği ile değiştirir.

       H   Tutma alanının içeriğine satır sonu karakterini ekledikten sonra kalıp alanının
           içeriğini tutma alanının içeriğine ekler.

       i \
       metin
           Satırdan önce metni basar.

       i metin
           Satırdan önce metni basar (başka bir sözdizimi).

       n   Otomatik çıktılama devre dışı değilse kalıp alanını çıktıladıktan sonra, ne olursa
           olsun, kalıp alanını sonraki girdi satırı ile değiştirir. Hiç girdi satırı kalmamışsa
           sed hiçbir komut yürütmeden çıkar.

       l   Kalıp alanını belirsizliğe yol açmadan ekrana basar.

       l genişlik
           Kalıp alanını genişlik karakterden keserek belirsizliğe yol açmadan ekrana basar. Bu
           bir GNU eklentisidir.

       n   Otomatik çıktılama devre dışı değilse kalıp alanını çıktıladıktan sonra, ne olursa
           olsun, kalıp alanını sonraki girdi satırı ile değiştirir. Hiç girdi satırı kalmamışsa
           sed hiçbir komut yürütmeden çıkar.

       N   Kalıp alanına satır sonu karakterini ekledikren sonra sonraki girdi satırını kalıp
           alanına ekler. Hiç girdi satırı kalmamışsa sed hiçbir komut yürütmeden çıkar.

       p   Kalıp alanını satır sonu karakterine kadar çıktılar.

       P   Kalıp alanını çıktılar.

       q [ÇIKIŞ-KODU]
           Otomatik çıktılama devre dışı bırakılmazsa, geçerli kalıp alanının çıktılanmasının
           gerekliliği dışında, daha fazla girdi işlemeden sed betikten hemen çıkar. ÇIKIŞ-KODU
           bir GNU eklentisidir.

       Q [ÇIKIŞ-KODU]
           q gibidir, farklı olarak kalıp alanının içeriği çıktılanmaz. Tıpkı q komutundaki gibi
           çağrıcıya bir çıkış kodu döndürür. Bu bir GNU eklentisidir.

       r DOSYA
           DOSYAdan okunan metni ekler.

       R DOSYA
           DOSYAdan okunan satırı ekler. Komutun her çağrısında dosyadan bir satır okunur. Bu bir
           GNU eklentisidir.

       s/DÜZİFADE/YENİSİ/[SÇN]
           DÜZİFADE düzenli ifadesini kalıp alanı ile eşleştirmeye çalışır. Başarılı olursa,
           eşleşen kısım YENİSİ ile değiştirilir. YENİSİ dizgesi kalıp uzayının eşleşen kısmına
           atıfta bulunmak için & özel karakterini ve DÜZİFADEde karşılık gelen eşleşen alt
           ifadelere atıfta bulunmak için \1 ile \9 arasındaki özel öncelemler içerebilir.

       t[YAFTA]
           Yalnızca son giriş satırının okunmasından veya koşullu dallanmanın alınmasından sonra
           başarılı bir ikame olmuşsa, YAFTAya atlanır. YAFTA belirtilmezse, bir sonraki döngü
           başlatılır.

       T YAFTA
           Yalnızca son giriş satırının okunmasından veya koşullu dallanmanın alınmasından sonra
           başarılı bir ikame yoksa, YAFTAya atlanır. YAFTA belirtilmezse, bir sonraki döngü
           başlatılır. Bu bir GNU eklentisidir.

       v [SÜRÜM]
           Bu komut hiçbir şey yapmaz, ancak GNU sed eklentileri desteklenmiyorsa veya belirtilen
           SÜRÜM mevcut değilse sed başarısız olur.

       w DOSYA
           Geçerli kalıp alanını DOSYAya yazar

       W filename
           Geçerli kalıp alanının ilk satırını DOSYAya yazar.

       x   Kalıp ve tutma alanlarının içeriklerini takas eder.

       y/KAYNAK/HEDEF/
           Kalıp alanındaki karakterlerden KAYNAKta görünenleri HEDEFteki karşılıklarına
           dönüştürür.

       z   Kalıp alanını boşaltır.

       #   Bu karakterden satır sonu karakterine kadar dizge bir yorum olup yok sayılır.

       { KOMUT ; KOMUT ... }
           Çeşitli komutları tek bir komuta gruplar.

       =   Geçerli satırın numarasını (satır sonu karakteri ekleyerek) çıktılar.

       :YAFTA
           Dallanma komutları (b, t, T) için YAFTA konumunu belirler.

ADRESLER

       sed komutları adressiz verilebilir, bu durumda komut tüm girdi satırları için yürütülür;
       tek adresle verilmesi durumunda komut yalnızca bu adresle eşleşen girdi satırları için
       yürütülür; iki adresle verilmesi durumunda durumda ise komut, birinci adresten başlayıp
       ikinci adrese kadar devam eden kapsayıcı satır aralığıyla eşleşen tüm girdi satırları için
       yürütülür.

       Adres aralıkları hakkında dikkat edilmesi gereken üç şey:
       1. Sözdizimi ADDR1,ADDR2’dir (yani, adresler virgülle ayrılır);
       2. ADDR1’in eşleştiği satır, ADDR2 daha önceki bir satırı seçse bile her zaman kabul
       edilir;
       3. Eğer ADDR2 bir düzenli ifade ise, ADDR1’in eşleştiği satırla eşleştirmeye çalışılmaz.

       Adresten (veya adres aralığından) önce veya sonra ! komutu yerleştirilebilir. Bu durumda
       komut, yalnızca adres (veya adres aralığı) eşleşmediğinde yürütülür.

   Sayısal adresler
       NUM Yalnızca belirtilen satır NUMarasıyla eşleşme olur (komut satırında -s seçeneği
           belirtilmemişse, dosyalar arasında eklenerek artan satır NUMarasıyla eşleşme olur)

       $   Son satırla eşleşir.

       İLK~ADIM
           İLK satırdan başlayarak her ADIMıncı satırla eşleşir. Örneğin, "sed -n 1~2p" komutu
           girdi akımındaki tüm tek sayılı satırları çıktıllayacak, "2~5" adresi ise ikinciden
           başlayarak her beşinci satırla eşleşecektir. İLK sıfır olabilir; bu durumda sed, adıma
           eşitmiş gibi çalışır. (Bu bir eklentidir.) Örnekler:

               $ seq 10 | sed -n ’0~4p’
               4
               8

               $ seq 10 | sed -n ’1~3p’
               1
               4
               7
               10

   Düzenli ifadeli adresler
       /DÜZİFD/
           DÜZİFD düzenli ifadesiyle eşleşen satırı seçer. DÜZİFD içinde / karakterleri varsa,
           bunlar ters eğik çizgi (\) ile öncelenmelidir.

           Aşağıdaki komut, /etc/passwd dosyasında ’bash’ ile biten satırları ekrana basar:

               sed -n ’/bash$/p’ /etc/passwd

           Boş düzenli ifade ’//’, son düzenli ifade eşleşmesini tekrarlar (aynı durum, boş
           düzenli ifade s komutuna aktarıldığında da geçerlidir). Düzenli ifade
           değiştiricilerinin düzenli ifade derlenirken değerlendirildiğini, dolayısıyla bunları
           boş düzenli ifadeyle birlikte belirtmenin geçersiz olacağı unutulmamalıdır.

       \cDÜZİFDc
           c herhangi bir karakter olabilir.

           Bu aynı zamanda DÜZİFD düzenli ifadesiyle de eşleşir, ancak / dışında bir sınırlayıcı
           kullanılmasına da izin verir. Bu, özellikle düzenli ifadenin kendisi çok sayıda eğik
           çizgi içeriyorsa kullanışlıdır. Düzenli ifadenin kendisi herhangi bir sınırlayıcı
           karakter içeriyorsa, her biri bir ters eğik çizgi (\) ile öncelenmelidir.

           Aşağıdaki komutlar eşdeğerdir. /home/alice/documents/ ile başlayan satırları ekrana
           basar:

               sed -n ’/^\/home\/alice\/documents\//p’
               sed -n ’\%^/home/alice/documents/%p’
               sed -n ’\;^/home/alice/documents/;p’

       /DÜZİFD/I
       \cDÜZİFDcI
           Düzenli ifade eşleştirmesinin I değiştiricisi, düzenli ifadenin harf büyüklüğünü
           önemsemeden eşleşmesine sebep olan bir GNU eklentisidir.

           Çoğu yazılım dilinde, harf büyüklüğünü önemsemeyen düzenli ifade eşleşmesi için küçük
           harf i kullanılır. Ancak, sed’de i, yerleştirme komutu için kullanılır (bkz.
           yerleştirme komutu).

           Aşağıdaki örnekler arasındaki farka dikkat edin.

           Bu örnekte, /b/I adrestir, I düzenli ifade değiştiricisidir, d ise silme komutudur:

               $ printf "%s\n" a b c | sed ’/b/Id’
               a
               c

           Burada, /b/ adrestir, i yerleştirme komutudur. d yerleştirilen değerdir.

               $ printf "%s\n" a b c | sed ’/b/id’
               a
               d
               b
               c

       /DÜZİFD/M
       \%DÜZİFD%M
           M değiştiricisi, düzenli ifadeyi çok satırlı kipte eşleştirmeye yönlendiren bir GNU
           sed eklentisidir. Değiştirici, (normal davranışa ek olarak) ^’ın satır sonu
           karakterinden sonraki boş dizgeyle (sonraki satırın başıyla) ve $’ın satır sonu
           karakterinden önceki boş dizgeyle eşleşmesine sebep olur. Daima tamponun başı veya
           sonuyla eşleşen özel karakter dizilimleri de (\’ ve \’) vardır. Ek olarak nokta
           karakteri, çok satırlı kipte satır sonu karakteriyle eşleşmez.

       Düzenli ifadeli adresler, mevcut kalıp uzayının içeriği üzerinde çalışır. Kalıp alanı
       değiştirilirse (örneğin s/// komutuyla), düzenli ifade değiştirilen metin ile
       eşleştirilmeye çalışılır.

       Aşağıdaki örnekte, -n ile otomatik yazdırma devre dışı bırakılmıştır. s/2/X/ komutu, ’2’
       içeren satırları ’X’ ile değiştirir. /[0-9]/p komutu, satırları rakamlarla eşleştirir ve
       yazdırır. İkinci satır /[0-9]/ düzenli ifadesinden önce değiştirildiği için eşleşmeyecek
       ve yazdırılmayacaktır:

           $ seq 3 | sed -n ’s/2/X/ ; /[0-9]/p’
           1
           3

   Desteklenen diğer adres biçemleri
       0,/DÜZİFD/
           0,/DÜZİFD/ adres belirtiminde 0 satır numarası kullanılabilir, böylece sed ilk girdi
           satırında da DÜZİFD ile eşleşmeye çalışır. Başka bir deyişle, DÜZİFD’nin en baştaki
           girdi satırı ile eşleşmesi dışında 0,/DÜZİFD/ ile 1,/DÜZİFD/ benzerdir. 0,/DÜZİFD/
           bunu aralığın sonu olarak değerlendirir. Halbuki, 1,/DÜZİFD/ aralığın başlangıcı ile
           eşleşir. Bu nedenle, aralık düzenli ifadenin ikinci benzerine kadar genişletilir.

           Bunun, 0 adresinin anlamlı olduğu tek yer oluşuna dikkat edilmelidir; 0. satır yoktur
           ve başka bir yolla 0 adresi belirtilen komutlar hata verir.

           Aşağıdaki örnekler, adres 1 ve 0 ile başlama arasındaki farkı göstermektedir:

               $ seq 10 | sed -n ’1,/[0-9]/p’
               1
               2

               $ seq 10 | sed -n ’0,/[0-9]/p’
               1

       ADRES1, +N
           ADRES1 ve ADRES1’i izleyen N satırla eşleşir.

       ADRES1, ~N
           ADRES1 ve ADRES1i izleyen satırlardan, satır numarası N’nin katları olan satırlara
           kadar olan satırlarla eşleşir.

EK BİLGİ

   s komutu
       s komutu muhtemelen sed içindeki en önemli komuttur ve birçok farklı seçeneğe sahiptir. s
       komutunun sözdizimi:

           ‘s/DÜZİFD/YENİSİ/SEÇENEKLER’

       Temel kavram basittir: s/ komutu, kalıp alanını belirtilen DÜZİFD düzenli ifadesiyle
       eşleştirmeye çalışır; eşleşme başarılı olursa, kalıp alanının eşleşen kısmı YENİSİ ile
       değiştirilir.

       Düzenli ifade sözdizimi ile ilgili ayrıntılar için bkz: Düzenli ifadeli adresler

       YENİSİ, eşleşmenin n’inci \...\ kısmına atıfta bulunan, \n atıfları içerebilir (n, 1’den
       9’a kadar bir sayıdır). Ayrıca, YENİSİ kalıp alanının eşleşen kısmının tamamına atıfta
       bulunan öncelenmemiş & karakterleri de içerebilir.

       Sınırlayıcı / karakterleri, verilen herhangi bir s komutunda herhangi bir başka tek
       karakterle eşli olarak değiştirilebilir. / karakteri (veya onun yerine kullanılan
       karakter), DÜZİFD ve YENİSİ içinde ancak bir \ karakteri ile öncelenerek görünebilir.

       Son olarak, GNU sed eklentisi olarak, komut, bir ters eğik çizgi ile öncelenerek L, l, U,
       u, E özel karakterlerinden birini içerebilir. Bunların anlamları:

       \L  Bir \U veya \E öncelemine rastlayana dek YENİSİ içeriği küçük harfe dönüştürülür.

       \l  Sonraki karakteri küçük harfe dönüştürür.

       \U  Bir \L veya \E öncelemine rastlayana dek YENİSİ içeriği büyük harfe dönüştürülür.

       \u  Sonraki karakteri büyük harfe dönüştürür.

       \E  \L veya \U ile başlatılmış harf dönüşümünü durdurur.

       g komutu kullanıldığında, harf dönüşümü düzenli ifadenin yinelenen oluşumları arasında
       aktarılmaz. Örneğin, aşağıdaki komut kalıp alanındaki ‘a-b-’ ile çalıştırıldığında:

           s/\(b\?\)-/x\u\1/g

       ‘axxB’ çıktılar. İlk ‘-’ dönüştürülürken ‘\u’ seçeneği ile ‘\1’ numaralı düzenli ifade
       için YENİSİ boş olur. b- ise xB’ye dönüştürülürken kalıp alanına eklenen x karakteri
       dönüşümden etkilenmez.

       Diğer yandan, \l ve \u boş bir ikameye öncülük ediyorsa YENİSİ’nin kalanını etkiler. Kalıp
       alanındaki ‘a-b-’ ile:

           s/\(b\?\)-/\u\1x/g

       komutu ’-’ ile ‘X’ (büyük harf) ve ‘b-’ ile ‘Bx’ dönüşümü yapar. Bu davranış istenmiyorsa,
       ’\1’den sonra dönüşümü durduran bir ‘\E’ eklenebilir.

       Son dönüşümde \, & veya satır sonu karakteri yerleştirilmek istenirse, bu karakterlerin
       bir \ ile öncelenmiş olmasına dikkat edilmelidir.

       s komutunu şu seçeneklerden sıfır veya daha fazlası izleyebilir:

       g   Eşleşen (yalnızca ilkini değil) tüm DÜZİFD’leri YENİSİ ile değiştirir.

       N   Yalnızca Ninci DÜZİFD YENİSİ ile değiştirilir.

           g ve N etkileşimi
               POSIX standardı, g ve sayı değiştiricileri birlikte kullanıldığında ne olması
               gerektiğini belirtmez ve şu anda sed uygulamaları arasında geniş çapta üzerinde
               anlaşmaya varılmış bir çözüm yoktur. GNU sed için etkileşim şu şekilde
               tanımlanıştır: N’den önceki eşleşmeleri yoksay ve ardından N’den itibaren tüm
               eşleşmeleri eşleştir ve değiştir.

       p   Dönüşüm yapılmışsa yeni kalıp alanını çıktılar.

           Bilgi:
               p ve e seçenekleri birlikte belirtildiğinde bu ikisinin bir birine göre konumu
               farklı sonuçlar üretebilir. Genelde, ep (değerlendir ve çıktıla) istenir fakat
               diğer türlüsü de hata ayıklama için kullanışlıdır. Bu nedenle, GNU sed’in geçerli
               sürümü s komutunun genel seçenekleri etkilerini yalnızca bir kere gösterirken,
               özellikle p seçeneğinin hem e den önce hem de e den sonra kullanımında kalıp
               alanını önce ve sonra değerlendirir. Bu davranış, bu sürümde böyle belgelenmiş
               olsa da gelecekte değişebilir.

       w DOSYA
           Dönüşüm yapılmışsa sonucu belirtilen DOSYA’ya yazar. GNU sed eklentisi olarak, DOSYA
           için iki özel değer desteklenmektedir: sonuçları standart hataya yazan /dev/stderr ve
           standart çıktıya yazan /dev/stdout. Bu seçenek, -i seçeneği kullanılmadıkça p’ye
           eşdeğerdir.

       e   Bu komut, bir kabuk komutundaki girdiyi kalıp alanına borulamaya yarar. Dönüşüm
           yapılmışsa, kalıp alanında bulunan komut yürütülür ve kalıp alanı komutun çıktısına
           yerleştirilir. Sondaki satır sonu karakterleri engellenir; boş (NUL) karakter içeren
           bir komutun yürütülmesinin sonuçları tanımsızdır. Bu bir GNU eklentisidir.

       I, i
           Düzenli ifadenin harf büyüklüğüne duyarsız eşleştirilmesini sağlayan I değiştiricisi
           bir GNU eklentisidir.

       M, m
           Düzenli ifadenin çok satırlı kipte eşleştirilmesini sağlayan M değiştiricisi bir GNU
           eklentisidir. Değiştirici, (normal davranışa ek olarak) ^’ın satır sonu karakterinden
           sonraki boş dizgeyle (sonraki satırın başıyla) ve $’ın satır sonu karakterinden önceki
           boş dizgeyle eşleşmesine sebep olur. Daima tamponun başı veya sonuyla eşleşen özel
           karakter dizilimleri de (\’ ve \’) vardır. Ek olarak nokta karakteri, çok satırlı
           kipte satır sonu karakteriyle eşleşmez.

   Düzenli İfadeler
       POSIX.2 Temel Düzenli İfadelerinin desteklenmesini gerektirse de başarım sorunları
       nedeniyle bunlar tamamlanmış değildir. \n dizilimi bir düzenli ifadede satır sonu
       karakteri ile eşleşir, \a, \t ve benzerleri için benzer eşleşmeler söz konusudur. -E
       seçeneği temel düzenli ifadeler yerine gelişmiş düzenli ifadelerin kullanılmasını sağlar.
       Gelişmiş düzenli ifadeler yıllarca GNU sed tarafından desteklenmiş ve artık POSIX’e de
       dahil edilmiştir.

   Genişletilmiş Düzenli İfadeler
       Temel ve genişletilmiş düzenli ifadeler arasındaki tek fark, birkaç karakterin
       davranışındadır: ’?’, ’+’, yaylı ayraçlar ’()’, kaşlı ayraçlar ’{}’ ve ’|’. Temel düzenli
       ifadelerde, bunların özel karakter olarak davranması için öncelenmesi gerekirken,
       genişletilmiş düzenli ifadelerde kendileri olarak davranması için öncelenmesi gerekir. ’|’
       özeldir, çünkü ’\|’ bir GNU eklentisi olup standart temel düzenli ifadelerde işlevsel
       değildir. Örnekler:

       abc?
           Genişletilmiş düzenli ifadelerde abc\? haline gelir. abc ile eşleşir.

       c\+ Genişletilmiş düzenli ifadelerde c+ haline gelir. Bir veya daha fazla c ile eşleşir.

       a\{3,\}
           Genişletilmiş düzenli ifadelerde a{3,} haline gelir. Üç veya daha fazla a ile eşleşir.

       \(abc\)\{2,3\}
           Genişletilmiş düzenli ifadelerde (abc){2,3} haline gelir. Ya abcabc ya da abcabcabc
           ile eşleşir.

       \(abc*\)\1
           Genişletilmiş düzenli ifadelerde (abc*)\1 haline gelir. Geriye atıflar genişletilmiş
           düzenli ifadelerde de öncelenir.

       a\|b
           Genişletilmiş düzenli ifadelerde a|b haline gelir. a veya b ile eşleşir.

ÇIKIŞ DURUMU

       Sıfır çıkış durumu başarıyı betimler. Sıfırdan farklı bir çıkış kodu ise hata oluştuğunu
       gösterir. GNU sed şu çıkış kodları ile çıkar:

       0   İşlem başarılı.

       1   Komut veya düzenli ifade geçersiz ya da --posix seçeneği ile GNU sed eklentisi
           kullanılmış.

       2   Komut satırında belirtilmiş bir veya daha fazla girdi dosyası açılamadı (örn, dosya
           yoktur veya izinler yetersizdir). Diğer dosyalardan işleme devam edildi.

       4   Çalışma anında bir G/Ç veya ciddi bir işlem hatası oluştu. GNU sed hemen çıktı.

       Ek olarak, q ve Q komutları sed’in özel bir çıkış kodu ile çıkmasını sağlamak için
       kullanılabilir:

           $ echo | sed ’Q42’ ; echo $?
           42

GERİBİLDİRİM

       Yazılım hatalarını bildirmek için: bug-sed (at) gnu.org. Ayrıca, eposta gönderirken sed
       --version komutunun çıktısının da iletiye dahil edilmesi rica olunur.

YAZAN

       Jay Fenlason, Tom Lord, Ken Pizzini, Paolo Bonzini, Jim Meyering ve Assaf Gordon
       tarafından yazıldı.

TELİF HAKKI

       Telif hakkı © 2020 Free Software Foundation, Inc.
       Lisans GPLv3+: GNU GPL sürüm 3 veya üstü <http://gnu.org/licenses/gpl.html>
       Bu bir özgür yazılımdır: yazılımı değiştirmek ve dağıtmakta özgürsünüz. Yasaların izin
       verdiği ölçüde HİÇBİR GARANTİ YOKTUR.

İLGİLİ BELGELER

       awk(1), ad(1), grep(1), tr(1), perlre(1), sed.info, sed hakkında çeşitli kitaplar, sed SSS
       (http://sed.sf.net/grabbag/tutorials/sedfaq.txt), http://sed.sf.net/grabbag/.
       GNU sed sayfası: <https://www.gnu.org/software/sed/>.
       GNU yazılımları için genel yardım sayfası: <https://www.gnu.org/gethelp/>.

       sed komutu ile ilgili kapsamlı bir kılavuz Texinfo olarak mevcuttur. info ve sed
       yazılımları düzgün bir şekilde sisteminizde mevcutsa,

           info sed

       komutu ile bu kılavuzu görüntüleyebilirsiniz.

ÇEVİREN

       © 2022 Nilgün Belma Bugüner
       Bu çeviri özgür yazılımdır: Yasaların izin verdiği ölçüde HİÇBİR GARANTİ YOKTUR.
       Lütfen, çeviri ile ilgili bildirimde bulunmak veya çeviri yapmak için
       https://github.com/TLBP/manpages-tr/issues adresinde "New Issue" düğmesine tıklayıp yeni
       bir konu açınız ve isteğinizi belirtiniz.