Bu gerçekten basit olmalı, ama nedense işe yaramadı:
sed -i.bak -E 's/\t/ /' file.txt
Sekme karakterlerini değiştirmek yerine tkarakterleri değiştiriyor . Düşünebildiğim, alıntı yapmak gibi oynayabileceğim her çeşitliliği denedim. Googled ve herkesi de benzer ifadeler kullanarak buldum ve onlar için çalışıyor gibi görünüyor.
Bu -Ebir OS X olayıdır. Başarısızlığın OS X’lerin tuhaf bir tuhaflığının sonucu olabileceğini düşündüm sed, bu yüzden Ruby ile de (onsuz -i) denedim ve aynı sonucu aldım:
ruby -pe '$_.gsub!(/\t/," ")' < file.txt > file.new
OS X ve Basherm'de Bash 3.2.51 kullanıyorum, ancak bunların ne kadar korkunç bir şekilde alakalı olabileceğini göremiyorum. Tuhaf bir ortam değişkeni ayarlamamıştım, ancak alakalı olabileceğini düşündüğün herhangi bir şeyi gönderebilirim.
Neyin yanlış olabilir?
GÜNCELLEME : Ruby versiyonunu denediğimde başka bir hata veya yazım hatası yapmış olmalıyım, çünkü Gilles bunun işe yaradığını işaret ediyor(ve beni asla yanlış yönlendirmedim!). Ne olduğundan emin değilim, ama benim hatam olmalı.
\tdesedsahip açıklamadaCTRL-V<TAB>nerede<TAB>sekme anahtar veCTRL-Vkumanda anahtarı ve birvaraya bastırdı.