Це повинно бути дійсно простим, але чомусь не працює:
sed -i.bak -E 's/\t/ /' file.txt
Замість заміни символів вкладки він замінює t
символи. Я намагався будь-який варіант цього питання, який я міг придумати, граючи з цитуванням і т. Д. Я гугл і знайшов усіх інших, використовуючи досить схожі вирази, і вони, здається, працюють на них.
Це -E
ОС X X. Я подумав, що цей збій може бути результатом дивної химерності OS X sed
, тому я спробував це і з Ruby (без цього -i
), і отримав той самий результат:
ruby -pe '$_.gsub!(/\t/," ")' < file.txt > file.new
Я використовую Bash 3.2.51 для OS X і iTerm, хоча я не можу побачити, як будь-який з них може бути надзвичайно актуальним. Я не встановив жодних дивних змінних середовища, хоча можу розмістити будь-які, які ви вважаєте, що можуть бути актуальними.
Що може бути не так?
UPDATE : Повинно бутия зробив деяку іншу помилку, друкарської помилкиколи я спробував версію Ruby, такЖиль вказує, що він робить роботу (і я ніколи і НЕ було йому керувати мене неправильно!). Я не впевнений, що сталося, але я майже впевнений, що це, мабуть, була моєю помилкою.
\t
вsed
операторі на те,CTRL-V<TAB>
де<TAB>
знаходиться клавіша табуляції, клавішаCTRL-V
управління таv
натиснута разом.