bashシェルにリテラルのタブ文字を入力するにはどうすればよいですか?


72

たとえば、ソートユーティリティを-tオプションとともに使用してタブ区切りを指定したかったのですが、

sort -t "\t"

動作しません。

回答:


85

二重引用符を使用しないでください。

sort -t $'\t'

または、Ctrl Vがタブを挿入すると思いますか?

編集:

http://www.gnu.org/s/bash/manual/html_node/ANSI_002dC-Quoting.html#ANSI_002dC-Quoting


タブはタブを挿入しませんか?
RedGrittyBrick

4
@RedGrittyBrickタブが完成しました。
ダニエルベック

12
Control-Vだけでは機能しません。Control-V + Tabを押します。$'...'しかし、私はトリックが好きです。今、私は何か新しいことを学びました。:
L2G

私はいつもそれを学んだ$' '。文字列を入力できますが、エスケープ文字も使用できます。二重引用\t符は文字通り印刷されます。引用符を省略すると、タブ文字が表示されます。
surfasb

59

試してみてくださいControl- v、それからTab。カーソルタブが右側にある場合は、機能していました。

マークのコメントによると、試してみることができますControl- vそしてControl- i


これを行うと、実際のタブ(インデント)が表示されます。
ダニエルベック

2
おっと。あなたが正しい。しかし、それはされる(通常はタブで何bashの場合)、コマンドライン補完をしていない、タブ文字を入力します。私はsort -t " "(上記のリテラルタブで)試しましたが、うまくいきました。
L2G

うん、それは私がインデントによって意味したものです。より良い用語を知りませんでした。
ダニエルベック

1
Ctrl-v、Ctrl-iも機能します(この答えはここにあります)。また、Ctrl-q、Ctrl-v、Tabは機能すると思います。L2Gに感謝します!
マーク

ところで、私は両方の答えを受け入れたいと思いますが、surfasbのソリューションはより読みやすいと思うので、私は彼女のものを受け入れました。私もあなたのものが好きなので、投票しました。ありがとう!
マーク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.