ฉันจะป้อนอักขระแท็บตัวอักษรลงใน bash shell ได้อย่างไร


72

ตัวอย่างเช่นฉันต้องการใช้ยูทิลิตีการเรียงลำดับพร้อมกับตัวเลือก -t เพื่อระบุตัวคั่นแท็บ แต่

sort -t "\t"

ไม่ทำงาน

คำตอบ:


85

อย่าใช้เครื่องหมายคำพูดคู่

sort -t $'\t'

หรือฉันคิดว่า Ctrl V แทรก Tab?

แก้ไข:

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


แท็บไม่ได้แทรกแท็บใช่หรือไม่
RedGrittyBrick

4
@RedGrittyBrick แท็บเสร็จสมบูรณ์
Daniel Beck

12
Control-V เพียงอย่างเดียวจะไม่ทำงาน แท็บ Control-V + จะ ฉันชอบ$'...'เคล็ดลับแม้ว่า; ตอนนี้ฉันเรียนรู้สิ่งใหม่แล้ว :-)
L2G

ฉันได้เรียนรู้มัน$' 'เสมอ อนุญาตให้คุณป้อนสตริง แต่ยังมีอักขระที่ใช้ Escape การพิมพ์ข้อความสองเท่าอย่างแท้จริง\tหากคุณไม่ใส่เครื่องหมายคำพูดคุณจะได้อักขระแท็บ
surfasb

59

ลองControl- แล้วv Tabหากคุณเห็นแท็บเคอร์เซอร์อยู่ทางด้านขวาแสดงว่าทำงานได้

ตามความคิดเห็นของมาร์คที่คุณยังสามารถลองControl- vแล้ว-Controli


เมื่อฉันทำสิ่งนี้ฉันจะได้รับแท็บจริง (เช่นการเยื้อง)
Daniel Beck

2
อุ่ย คุณถูก. แต่มันกำลังป้อนอักขระแท็บไม่ทำการเติมบรรทัดคำสั่ง (ซึ่งเป็นสิ่งที่ทุบตีตามปกติจะทำกับแท็บ) ฉันลองsort -t " "(ด้วยแท็บตัวอักษรตามที่อธิบายไว้ข้างต้น) และใช้งานได้สำหรับฉัน
L2G

ใช่นั่นคือสิ่งที่ฉันหมายถึงการเยื้อง ไม่ทราบคำศัพท์ที่ดีกว่านี้
Daniel Beck

1
Ctrl-v, Ctrl-i จะทำงานด้วย (ฉันพบคำตอบนี้ที่นี่ ) นอกจากนี้ฉันคิดว่า Ctrl-q, Ctrl-v, Tab จะทำงาน ขอบคุณ L2G!
ทำเครื่องหมาย

BTW ฉันชอบที่จะยอมรับคำตอบทั้งสอง แต่เนื่องจากฉันคิดว่าวิธีแก้ปัญหาของ surfasb นั้นอ่านได้ง่ายขึ้นฉันจึงยอมรับเธอ แต่ฉันก็ชอบคุณเช่นกัน ขอบคุณ!
ทำเครื่องหมาย
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.