Bagaimana cara memasukkan karakter tab literal dalam bash shell?


72

Sebagai contoh, saya ingin menggunakan utilitas sortir dengan opsi -t untuk menentukan pemisah tab, tetapi

sort -t "\t"

tidak bekerja

Jawaban:


85

Jangan gunakan tanda kutip ganda.

sort -t $'\t'

Atau saya pikir Ctrl V menyisipkan Tab ??

Sunting:

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


Tidakkah tab menyisipkan tab?
— RedGrittyBrick

4
@RedGrittyBrick Tab selesai.
— Daniel Beck

12
Control-V sendiri tidak akan bekerja; Control-V + Tab akan. Saya suka $'...'triknya; sekarang saya sudah belajar sesuatu yang baru. :-)
— L2G

Saya selalu mempelajarinya sebagai $' '. Ini memungkinkan Anda untuk memasukkan string, tetapi juga memiliki karakter yang lolos. Kutipan ganda mencetak secara harfiah \tJika Anda mengabaikan tanda kutip, Anda mendapatkan karakter tab.
— surfasb

59

Coba Control- v, lalu Tab. Jika Anda melihat tab kursor ke kanan, itu berfungsi.

Menurut komentar oleh Mark Anda juga dapat mencoba Control- vdan kemudian Control- i.


Ketika saya melakukan ini, saya mendapatkan tab nyata (yaitu lekukan).
— Daniel Beck

2
Ups. Kamu benar. Tapi itu adalah memasuki karakter tab, tidak melakukan baris perintah selesai (yang adalah apa pesta biasanya dilakukan dengan tab). Saya mencoba sort -t " "(dengan tab literal seperti dijelaskan di atas) dan itu berhasil untuk saya.
— L2G

Yap, itu yang saya maksud dengan indentasi. Tidak tahu istilah yang lebih baik.
— Daniel Beck

1
Ctrl-v, Ctrl-i juga akan berfungsi (saya menemukan jawaban ini di sini ). Juga, saya pikir Tab Ctrl-q, Ctrl-v, akan bekerja. Terima kasih L2G!
— Tandai

BTW, saya ingin sekali menerima kedua jawaban itu, tetapi karena saya pikir solusi surfasb lebih mudah dibaca, saya menerimanya. Saya suka milikmu juga, jadi pilihlah. Terima kasih!
— Markus
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.