42
Konuya ait anahtar kelimeler: Unix/Linux Dosya Parçalama ve Birleştirme Bu örneğimizde herhangi bir dosyayı nasıl parçalayıp ve nasıl geri birleştireceğimizi öğreneceğiz.Bazı durumlarda bir dosyayı belirli boyutta yada satır satır parçalamak isteyebiliriz. split: Türkçe "Parçalama" anlamına gelmektedir. Bir kaç parametre alabilmektedir. Biz önemli 2 parametresini açıklayacak ve kullanacağız. split çalışma mantığı, dosyayı istenilen şekilde parçalara ayırıyor, aksi belirtilmediği süürece parçalama işleminde parça dosyalar "xaa", "xab", "xac"... şeklinde alfabetik olarak sıralanıyor.
-bDsyayı byte olarak parçalama. Kaçar byte olarak parçalanacak.
-lDosyanın satır satır parçalanmasını sağlamaktadır.
Şimdi örnek olması açısından bir text dosya oluşturalım ve dosyayı önce byte daha sonra satır olarak parçalayalım.
[alax@alax ~]$ nano parçala.txt Aç kapıyı, haber var, Ötenin ötesinden! Dudaklarda şarkılar, Kurtuluş bestesinden. Biz geldik, bilen bilsin! Gönül gönül girilsin, İnsanlar devşirilsin, Sonsuzluk destesinden...
Şimdi dosyayı 100 byte olarak parçalayım.
[alax@alax ~]$ split -b 100 parçala.txt [alax@alax ~]$ ls parçala.txt xaa xab
Evet gördüğünüz gibi dosya içeriği 100 byte 100 byte olarak parçalandı. Dosya boyutundan dolayı dosyamız 100'er byte olarak 2 dosyaya parçalandı. Sizler daha büyük osyaları bu bir resim olabilir parçalayarak daha fazla parça dosya elde edebilirsiniz. Boyuta ve istenilen parça boyutuna göre değişecektir. Şimdi dosyamızdan bir kaç parçaya göz atalım.
[alax@alax ~]$ cat xaa Aç kapıyı, haber var, Ötenin ötesinden! Dudaklarda şarkılar, Kurtuluş bestesinden. Biz geld [alax@alax ~]$ cat xab ik, bilen bilsin! Gönül gönül girilsin, İnsanlar devşirilsin, Sonsuzluk destesinden...
Evet parçala.txt dosyası 100 byte olacak şekilde parçalandı. Tabi eğer orjinal dosya boyutu 101 byte olsaydı o zaman ilk parça 100 byte diğer parça mecburen 1 byte olacaktı. Şimdi parçaları silelim ve dosyayı bu sefer 2 satır 2 satır şeklinde parçalara ayıralım.
[alax@alax ~]$ rm x?? [alax@alax ~]$ split -l 2 parçala.txt [alax@alax ~]$ ls parçala.txt xaa xab xac xad xae
Evet mesela 3. parçayı okuyalım
[alax@alax ~]$ cat xac Biz geldik, bilen bilsin!
Burada boş satırın da işleme alındığını unutmayınız. Son olarak birleştirme işlemini yapalım. Bunun için sıklıkla kullandığımız cat komutunu çıktı olarak kullanıp yapacağız. Gördüğünüz üzere dosya parçalama ve birleştirme çok kolay bir şekilde iki komut ile yapılabiliyor. Birleştirme mantığı parça dosyalar alfabetik olarak adlandırıldığı için, cat komutu ile ilk parçadan son paraçaya kadar hepsini bir dosyaya çıktı olarak vererek yapılır. Dosya birleştirme
[alax@alax ~]$ cat x?? > necipfazıl.txt [alax@alax ~]$ cat necipfazıl.txt Aç kapıyı, haber var, Ötenin ötesinden! Dudaklarda şarkılar, Kurtuluş bestesinden. Biz geldik, bilen bilsin! Gönül gönül girilsin, İnsanlar devşirilsin, Sonsuzluk destesinden...
Evet işlem bu kadar. Hangi türde parçalarsanız parçalayın alfabetik sırayla cat ile çıkış verdiğiniz zaman orjinal veri elde edilir. Lütfen pratik yapınız.
..Ders sonu