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.

sed-4.8                                             Ocak 2020                                             SED(1)