แท็บแบบสุ่มอัตโนมัติสมบูรณ์ในกรณีที่ชื่อไฟล์เหมือนกันเริ่มต้นหรือไม่


1

ให้บอกว่าฉันมีหลายไฟล์ในไดเรกทอรีซึ่งทั้งหมดเริ่มต้นด้วยสตริงเดียวกัน

$ ls
  fileAA234 fileAA247 fileAA255 fileAA264
  fileAA269 fileAA277 fileAA285 fileAA294

บ่อยครั้งที่เรียกดูไฟล์ข้อมูลดังกล่าวในบรรทัดคำสั่งฉันต้องการอ่านไฟล์เหล่านี้ทุกคนเพื่อดูว่ามีโครงสร้างอย่างไร

แต่ถ้าฉันเข้า

$ less f 

และจากนั้นกดแท็บเพื่อเสร็จสิ้นคำตอบจะเป็น

$ less fileAA2
  fileAA234 fileAA247 fileAA255 fileAA264
  fileAA269 fileAA277 fileAA285 fileAA294

ซึ่งไม่ทำให้ฉันใกล้ถึงเปิดไฟล์ใดไฟล์หนึ่ง

ดังนั้นสำหรับตอนนี้ฉันอาจใช้เมาส์เพื่อทำเครื่องหมายชื่อไฟล์แบบสุ่มและคัดลอกมาวางที่พรอมต์หรือฉันเอนไปข้างหน้าและให้ตาที่น่าสงสารของฉันหาสตริงที่ไม่ซ้ำกันเพื่อพิมพ์ชื่อไฟล์ให้เสร็จ

เป็นวิธีที่ง่ายสำหรับพวกเขาหรือไม่ ฉันแค่คิดถึงอะไรบางอย่างที่ชัดเจนใช่มั้ย ฉันต้องการให้บางสิ่งบางอย่างเหมือนกับtab+enterการทำให้สมบูรณ์อัตโนมัติและเปิดไฟล์แรกในรายการเช่นในกรณีfileAA234นี้

ขอบคุณสำหรับความช่วยเหลือใด ๆ ผมคิดว่ามีวิธีการสร้างสคริปต์เปลือกโดยการรวมเครื่องมือบางอย่างเหมือนlsและheadแต่ฉันยังคงเริ่มต้นและยังไม่พบวิธีแก้ปัญหาตัวเองเลย

คำตอบ:


2

เพียงใช้สัญลักษณ์แทน (*):

$ less fileAAA*

ที่จะเปิดไฟล์แรกให้น้อยลง เมื่อคุณไปถึงจุดสิ้นสุดของไฟล์ไฟล์จะน้อยลงไปยังไฟล์ถัดไป หากทุกสิ่งที่คุณต้องการคือการดูไฟล์ใดไฟล์หนึ่งอย่างรวดเร็วและเปิดไฟล์แรก (เรียงตามตัวอักษรและตัวเลข) อย่างใดอย่างหนึ่งก็โอเคเพียงกด "q" เพื่อออกน้อยกว่าทันทีที่คุณเห็นพอ


โอ้เด็กฉันรู้ว่าจะต้องมีวิธีการแก้ปัญหาที่ชัดเจน ขอบคุณมาก! ยังใช้งานได้ดีสำหรับไดเรกทอรี!
user1323995

2

สำหรับทุบตีใส่ต่อไปนี้ใน~/.inputrc:

"\C-i": menu-complete

สิ่งนี้จะทำให้Tabชื่อเต็มสมบูรณ์เสมอ กดอีกครั้งเพื่อสลับระหว่างความสำเร็จ


ขอบคุณมันยอดเยี่ยมจริงๆ แต่ตอนนี้เมื่อฉันป้อน $ cd dir / และกด tab ฉันจะไม่เห็นรายการโฟลเดอร์ย่อยอีกต่อไป ฉันต้องกด Enter และใช้ ls
user1323995

@ user1323995: จากนั้นผูกmenu-completeกับคีย์อื่นแทน Tab ตัวอย่างเช่น\C-qสำหรับ Ctrl + Q หรือ\e[ZShift + Tab
grawity
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.