Linux'ta Bash Betiği Kullanarak Çoklu Parçalar Halindeki Dosyayı Birleştirmek

Buna sık sık ihtiyaç duyabiliyoruz. Birden fazla parçaya ayrılmış ve bir tek dosyaya ait parçaları birleştirmek... Bu işlem linuxta bir komut satırında halledilebilecek kadar kolay bir işlem. Eğer parçalarımız alfabetik sıra ile isimlendirilmişse, yani elimizdeki dosyalar şuna benzer bir yapıdaysa;


film0001.mkv, film0002.mkv, ... , film1000.mkv


Bu durumda yapılacak işlem çok basit:


cat film*.mkv > film.mkv


Komutunu yazdığımızda parçalar doğru sırada olduğu için sorunsuzsa ardarda eklenerek büyük dosyayı oluşturabiliyor. Bir de alfabetik olmayan isimlendirme şekilleri var. Onlarda durum bir adım daha karışık olduğundan basit bir betik yazmak gerekiyor. Örneğin elimizdeki dosyalar şu şekilde isimlendirilmiş olsun:


film1.mkv, film2.mkv, ..., film876.mkv, ... , film1000.mkv


Bu durumda alfabetik sıra bozulmuş olacağından dosyaları bir önceki basit cat komutu ile birleştirmek yanlış sonuç verecektir. Bu parçacıkları doğru sıralamayla birleştirmek için alfabetik sırayı doğru bir şekilde tanımlamak gerekmektedir:


for x in {1..1000};do cat film${x}.mkv >> film.mkv;done


Bu basit döngü ile parçacıklar doğru sıralama ile birleştirilmiş olacaktır. Aynı mantıkla daha farklı isimlendirme durumları da ele alınabilir.

Comments

Popular posts from this blog

Latex'te Denklem İçerisine Ufak Boşluklar Koymak

LaTeX'te Sunum Hazırlamak

Octave'da Grafik Çizdirme