Bu gerçekten basit olmalı, ama nedense işe yaramadı:
sed -i.bak -E 's/\t/ /' file.txt
Sekme karakterlerini değiştirmek yerine t
karakterleri 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 -E
bir 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ı.
\t
desed
sahip açıklamadaCTRL-V<TAB>
nerede<TAB>
sekme anahtar veCTRL-V
kumanda anahtarı ve birv
araya bastırdı.