man/text
man · Metin İşleme

$ csplit

Bölüm 1 · Metin İşleme

dosyaları içeriğe göre böler

Özet

csplit [-ks] [-f ön_ek] [-n sayı] dosya argümanlar ...

Açıklama

csplit, dosya öğesini argümanlar örüntülerini kullanarak parçalara böler. dosya tek bir tire (-) ise csplit standart girdiden okur.

Çıktı dosyaları varsayılan olarak xx ön eki ve iki ondalık basamakla adlandırılır. Her dosyanın boyutu oluşturuldukça standart çıktıya yazılır.

Dosyalar oluşturulurken bir hata meydana gelirse veya HUP, INT ya da TERM sinyali alınırsa, önceden yazılmış olan tüm dosyalar silinir.

Seçenekler

  • -f ön_ek: xx yerine belirtilen ön ekle başlayan dosya adları oluşturur.
  • -k: Bir hata meydana geldiğinde veya HUP, INT ya da TERM sinyali alındığında önceden oluşturulmuş dosyaları silmez.
  • -n sayı: Ön ekten sonra 2 yerine belirtilen sayıda ondalık basamakla başlayan dosya adları oluşturur.
  • -s: Her çıktı dosyası oluşturuldukça boyutunu standart çıktıya yazmaz.

İşlenenler

argümanlar işlenenleri aşağıdaki örüntülerin bir kombinasyonu olabilir:

  • /düzenli_ifade/[[+|-]uzaklık]: Mevcut satırdan, verilen temel düzenli ifadeyle eşleşen bir sonraki satıra kadar olan girdiyi içeren bir dosya oluşturur. Eşleşen satır dahil edilmez. Eşleşen satırdan itibaren isteğe bağlı bir uzaklık (offset) değeri belirtilebilir.
  • %düzenli_ifade%[[+|-]uzaklık]: Yukarıdakiyle aynıdır, ancak çıktı için dosya oluşturulmaz.
  • satır_no: Mevcut satırdan, belirtilen satır numarasına kadar olan girdiyi içeren bir dosya oluşturur. Belirtilen satır dahil edilmez.
  • {sayı}: Önceki örüntüyü belirtilen sayıda tekrarlar. Bir satır numarası örüntüsünü takip ediyorsa, her satır_no satırda bir, sayı kez yeni dosya oluşturulur. Dosyanın ilk satırı, tarihi nedenlerden dolayı 1. satır numarasıdır.

Tüm örüntüler işlendikten sonra kalan girdi verileri varsa yeni bir dosyaya yazılır.

Mevcut satır numarasından önceki bir satırda veya dosyanın sonundan sonraki bir satırda bölme talep edilmesi hatayla sonuçlanır.

Ortam

LANG, LC_ALL, LC_COLLATE ve LC_CTYPE ortam değişkenleri, environ(7) belgesinde açıklandığı gibi csplit yürütülmesini etkiler.

Çıkış Durumu

csplit, başarı durumunda 0, bir hata oluştuğunda ise >0 değeriyle çıkar.

Örnekler

mdoc(7) dosyası foo.1 içeriğini her bölüm için ayrı dosyaya bölmek; en fazla 21 bölüm ve varsa kalan kısım için bir dosya daha oluşturmak:

csplit -k foo.1 '%^\.Sh%' '/^\.Sh/' '{20}'

Standart girdiyi ilk 99 satırdan sonra ve sonrasında her 100 satırda bir bölmek:

csplit -k - 100 '{19}'

Ayrıca Bakınız

sed(1), split(1), re_format(7)

Standartlar

csplit, IEEE Std 1003.1-2001 ("POSIX.1") standardına uygundur.

Tarihçe

Bir csplit komutu PWB UNIX ile ortaya çıkmıştır.

Hatalar

Girdi satırları LINE_MAX (2048) bayt uzunluğuyla sınırlıdır.