December 11, 2016

Linux Üzerinde CHK Dosyalarının Kurtarılması

USB belleğin yan basması sonucunda içerisindeki veriler bir şekilde bozulmuş bir USB belleği Windows bir sisteme taktığımızda ki sanırım bu otomatik oluyor .CHK uzantılı bir hal almış. Kayıp dosya parçacıklarını dönüştürmüş ve kurtarma işlemi için hazır yapmış Windowsda bunları tool ile çıkartıyorlar tabi linuxde mimetype bakarak dosya uzantısını değiştirmek yetiyor. Belki Windows üzerindede aynı işlemi yapsak düzelecek ancak bu konuda bir bilgim yok

Tabi bu kodu kullanmadan önce klasör içerisinde ne tür dosyaların olduğuna şu şekilde bakabilirsiniz.

file --mime-type -b *.CHK | sort | uniq

Düzenlenen kodumuz ise şu şekilde kod için Onur Aslan Teşekkür ederim. İçinden çıkamadığım sorunu kendisi güzel bir şekilde çözdü :)

for file in $(find -iname '*.chk'); do C_EXT=$(file --mime-type $file | cut -d' ' -f2 | xargs -I{} grep {} /etc/mime.types | awk '{ print $2; }'); if [ -n "$C_EXT" ]; then rename -v "s/.chk$/.$C_EXT/i" $file; fi; done

Kodda bulunan ufak bir bug var bazı mimelerin birden fazla uzantısı olabiliyor. Örneğin; ppt bu gibi dosyalarda grep hepsini aldığı için birden fazla uzantısı varmış gibi gözükebilir. Çok nadir olsa bile böyle bir sorun olduğunu bilmenizde fayda var…


Bir şeyler bu yazıda doğru ya da eksik değil mi? Düzenleyin ve pull request Oluşturun



Yorumlar