Це повинно бути дійсно простим, але чомусь не працює:
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натиснута разом.