husonet | Tarih: 02.02.2015
Metin dosyaları içinden satır başı karakterlerin silinmesi
Windows / Dos işletim sistemlerinden gelen text tabanlı dosyaların Linux işletim sistemine uyarlanması
Birbirinden farklı işletim sistemleri satır sonlarını belirtmek için farklı karakterler kullanabilir. Unix ve Linux sistemler satır sonunu belirtmek için LF kullanır. Windows /DOS satır sonunu belirtmek için 2 karakter kullanır Carriage Return/Line Feed (CR/LF). MacOS satır sonunu belirtmek için ise sadece CR kullanır.
Günümüzda platform bağımsız geliştirmeler oldukça kendinden bahsettirmektedir esasen bahsedilen yazılım dillerinin editörleride anlatacağımız konudaki bu işleri kendisi otomatik olarak yapmaktadır.
Aşağıda bir metin dosyasının her satırında dönüşüm için gerekli olan karakterleri kaldırmak için çeşitli yolları anlatmaya çalıştık.
dos2unix kurulum apt-get install dos2unix
dos2unix input.txt
dos2unix: converting file input.txt to UNIX format ...
Artık kullanıcı çeşitliliği artmış durumdadır. Bir çok kişi farklı platformlarda çalışabilir örneğin Mac kullanıcıları, Linux kullanıcıları ve Windows kullanıcılarının varlıkları ve dosya alışverişleri oldukça tahminlerden daha fazla olduğu düşünülmektedir.
Diğer bir seçeneğimizde fromdos
fromdos kurulum apt-get install tofrodos
fromdos çalıştırılması
fromdos input.txt
Not: fromdos komutu owerwrite yapar.
tr seçeneği ile dosyanın uyarlanması
tr -d '
' < input.txt > output.txt
satır kontrol edilecek karakterdir- -d parametresi delete kısaltması olarak işaret edilen karakterin silinmesini sağlar
sed seçeneği ile dosyanın uyarlanması
sed -i.bak -e 's/
//g' input.txt
Burada sed komutunun tr komutundan tek avantajı in-line olarak yapmasıdır yani aracı dosya oluşturmaya gerek yoktur.
i.bak input.txt.bak gibi, orijinal dosya adına .bak eki ekleyerek bir yedekleme dosyası oluturur.
perl seçeneği ile dosyanın uyarlanması
perl -i.bak -pe 's/
//g' input.txt
Yaptığımız ve birden fazla bir çeşitlilikte oluşturduğumuz örnekler işinizi görecektir.