21 Ağustos 2020 Cuma

split komutu

Giriş
Açıklaması şöyle. Yani split komutu çok eksiden beri var.
The split command has been part of Unix since the ancient days, and while it was originally a text processing command that split in lines, modern implementations also work with binary files. split -b is in POSIX and BusyBox.
Kullanım
Kullanım için açıklaması şöyle. Bu devirde bu tür şeylere gerek var mı diyenler olabilir, ancak gerek oluyor işte. VPN bağlantısını sürekli düştüğü bir ortamda uzaktaki sunucuya dosya kopyalamak gerekti. Bağlantı sürekli düştüğü için ve scp komutu da kaldığı yerden devam etmediği için çareyi split komutunda buldum. Dosyaları küçük parçalara bölere kopyaladım ve karşı bilgisayarda birleştirdim.
In the *NIX world the splitting could be performed using the split tool (split -b 645M original.file) and original file could be recreated with cat and output redirection (cat original.file.* > original.file).
Dosyaları tekrar birleştirmek için şöyle yaparız.
cat output.file.* > input.file
veya şöyle yaparız
cat xa* > vitesslite.tar
Dosyaları yüklemek "upload.sh" içinde için şöyle yaptım
#!/bin/bash

trap "echo Exited!;exit;" SIGINT SIGTERM

for f in xa*;do
  echo "sudo scp -i ~/.ssh/foo.ppk $f foo@172.18.16.8:/home/foo/vitessimages14"
  sudo scp -i ~/.ssh/foo.ppk $f foo@172.18.16.8:/home/foo/vitessimages14
  if [ $? -eq 0 ];
  then
    echo "rm $f"
    rm $f
  else
    break;
  fi
done
-b seçeneği
Her dosyanın büyüklüğünü belirtir.  
Örnek
521 byte olarak bölmek için şöyle yaparız
$ split -b512 orig.bin frag
Örnek
Şöyle yaptım
split -b50M vitess-operator.tar

cat xa* > vitess-operator2.tar
Örnek
100MB'lik dosyalar halinde bölmek için şöyle yaparız.
split -b100M /path/to/input.file /path/to/pen/drive/output.file.
Çıktı olarak şunu alırız.
100 mb output.file.aa
100 mb output.file.ab


Hiç yorum yok:

Yorum Gönder