これは本当に簡単なはずですが、何らかの理由で機能していません。
sed -i.bak -E 's/\t/ /' file.txt
タブ文字を置き換える代わりに、文字を置き換えますt
。私は、引用で遊んで、私は考えることができ、この上のすべてのバリエーションを試してみましたなどIましGoogleで検索して見つけた誰もが、かなり類似した表現を使用して、彼らは彼らのために仕事に思えます。
これ-E
はOS Xのものです。失敗はOS Xの奇妙な癖の結果かもしれないと思ったsed
ので、Rubyでも試してみて(なしで-i
)、同じ結果を得ました:
ruby -pe '$_.gsub!(/\t/," ")' < file.txt > file.new
OS XとiTermでBash 3.2.51を使用していますが、これらのどれがひどく関連するかはわかりません。奇妙な環境変数は設定していませんが、関連があると思われるものは投稿できます。
何が間違っているのでしょうか?
更新:Rubyバージョンを試してみたときに、Gillesがそれが機能することを指摘しているため、他の間違いやタイプミスを犯したに違いありません(そして、私は彼に間違った方向を向かわせたことがありません!)何が起こったのかはわかりませんが、それは間違いだったに違いありません。
\t
inを、tabキーとcontrolキーを一緒に押した場所に置き換えてみてください。sed
CTRL-V<TAB>
<TAB>
CTRL-V
v