/ / วิธีใช้คำสั่ง look บน Linux

วิธีใช้คำสั่ง look บน Linux

สถานี Linux ที่ทำงานบนสภาพแวดล้อมเดสก์ท็อปที่ใช้ธีม Ubuntu

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

คำสั่ง Look ของ Ubuntu นั้นแตกต่างกัน

สำหรับคำสั่งที่เรียบง่าย แต่มีประโยชน์ look แน่นอนให้ฉัน runaround เมื่อฉันค้นคว้าบทความนี้ มีสองปัญหา: ความเข้ากันได้และเอกสาร

บทความนี้ได้รับการตรวจสอบโดยใช้ Ubuntu, Fedora และ Manjaro look ถูกรวมเข้ากับการแจกแจงแต่ละอย่างซึ่งยอดเยี่ยมมาก ปัญหาคือพฤติกรรมไม่เหมือนกันทั้งสามรายการ เวอร์ชันของ Ubuntu นั้นแตกต่างกันมาก ตาม Ubuntu Manpages พฤติกรรมควรจะเหมือนกัน

ในที่สุดฉันก็คิดออก look ตามเนื้อผ้าใช้การค้นหาแบบไบนารีในขณะที่ Ubuntu look ใช้การค้นหาเชิงเส้น หน้า man Ubuntu ออนไลน์สำหรับ Bionic Beaver (18.04), Cosmic Cuttlefish (18.10) และ Disco Dingo (19.04) ทุกคนกล่าวว่าเวอร์ชั่น Ubuntu ใช้การค้นหาแบบไบนารีซึ่งไม่ใช่กรณี

ถ้าเราดูที่ ในประเทศ หน้าอูบุนตูเราเห็นชัดเจนว่า look ใช้การค้นหาเชิงเส้น มีตัวเลือกบรรทัดคำสั่งเพื่อบังคับให้ใช้การค้นหาแบบไบนารี ทั้งสองเวอร์ชันในดิสทริบิวชันอื่นไม่มีตัวเลือกให้เลือกระหว่างวิธีการค้นหา

man look

"ผู้ชายมอง" ในหน้าต่างเทอร์มินัล

เลื่อนลงมาที่หน้า man เราจะเห็นส่วนที่อธิบายถึงรุ่นนี้ look ใช้เชิงเส้นแทนการค้นหาแบบไบนารี

Ubuntu ดูหน้าคนในหน้าต่างเทอร์มินัล

คุณธรรมของเรื่องราวคือการตรวจสอบหน้าคนท้องถิ่นก่อน

การค้นหาเชิงเส้นเมื่อเทียบกับการค้นหาแบบไบนารี

วิธีการค้นหาแบบไบนารี่นั้นเร็วขึ้นเรื่อย ๆมีประสิทธิภาพมากกว่าการค้นหาแบบเชิงเส้น การทำงานกับไฟล์ขนาดใหญ่ทำให้สิ่งนี้ชัดเจนมาก ข้อเสียของการค้นหาแบบไบนารีคือไฟล์ของคุณจะต้องเรียงลำดับ หากคุณไม่ต้องการจัดเรียงไฟล์ของคุณให้เรียงลำดับสำเนาไฟล์จากนั้นใช้ไฟล์นั้นด้วย look.

เราจะสาธิตเรื่องนี้ที่อื่นในบทความนี้ เพิ่งทราบว่าใน Fedora, Manjaro และฉันคาดว่าส่วนที่เหลือของโลก Linux คุณจะต้องสร้างสำเนาที่เรียงลำดับของไฟล์ของคุณและทำงานกับมัน

การติดตั้งคำ

look สามารถทำงานกับไฟล์ข้อความใด ๆ ที่คุณเลือกหรือสามารถทำงานกับ "word" ในพจนานุกรมไฟล์โลคอล

ใน Manjaro คุณต้องติดตั้งไฟล์“ words” ใช้คำสั่งนี้:

sudo pacman -Syu words

"sudo pacman -Syu คำ" ในหน้าต่างเทอร์มินัล

การใช้รูปลักษณ์

สำหรับบทความนี้เราจะทำงานกับไฟล์ข้อความของบทกวี Edward Lear“ The Jumblies”

ลองดูเนื้อหาด้วยคำสั่งนี้:

less the-jumblies.txt

"less the-jumblies.txt" ในหน้าต่างเทอร์มินัล

นี่คือส่วนแรกของบทกวี โปรดทราบว่าเรากำลังใช้งาน Ubuntu ดังนั้นไฟล์จะยังคงไม่ถูกเรียงลำดับ สำหรับ Fedora และ Manjaro เราทำงานกับสำเนาไฟล์ที่เรียงลำดับซึ่งเราจะกล่าวถึงในภายหลังในบทความนี้

"The Jumblies" น้อยในหน้าต่างเทอร์มินัล

หากเรามองหาบรรทัดที่เริ่มต้นด้วยคำว่า "พวกเขา" เราจะค้นหาว่า Jumblies ทำอะไรบ้าง

look They the-jumblies.txt

"ดูพวกเขา the-jumblies.txt" ในหน้าต่างเทอร์มินัล

look ตอบกลับโดยแสดงรายการบรรทัดเหล่านี้:

เอาต์พุตจาก "look They the-jumblies.txt" ในหน้าต่างเทอร์มินัล

ไม่สนใจกรณีตัวอักษร

เพื่อทำ look เพิกเฉยความแตกต่างระหว่างตัวพิมพ์ใหญ่และตัวพิมพ์เล็กใช้ -f ตัวเลือก (ละเว้นกรณี) เราใช้คำว่า "พวกเขา" เป็นคำค้นหาอีกครั้ง แต่คราวนี้มันเป็นตัวพิมพ์เล็ก

look -f they the-jumblies.txt

ค้นหา -f พวกเขา the-jumblies.txt ในหน้าต่างเทอร์มินัล

เวลานี้ผลลัพธ์รวมบรรทัดพิเศษ

เอาต์พุตจาก "look -f พวกเขา the-jumblies.txt" ในหน้าต่างเทอร์มินัล

บรรทัดที่ขึ้นต้นด้วย“ พวกเขา” นั้นพลาดในผลลัพธ์ชุดสุดท้ายเพราะมันเป็นตัวพิมพ์ใหญ่ทั้งหมดและไม่ตรงกับคำค้นหาของเรา“ พวกเขา”

กรณีที่ไม่ได้รับอนุญาต look เพื่อรวมไว้ในผลลัพธ์

การใช้รูปลักษณ์ด้วยไฟล์ที่เรียงลำดับ

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

ลองทำซ้ำคำสั่งเพื่อค้นหา "พวกเขา" แต่คราวนี้กับ Manjaro

ดูพวกเขา the-jumblies.txt ในหน้าต่างเทอร์มินัล

อย่างที่คุณเห็นไม่มีการส่งคืนผลลัพธ์ แต่เรารู้ว่ามีบทกวีในบรรทัดที่ขึ้นต้นด้วยคำว่า“ พวกเขา”

มาทำสำเนาไฟล์เรียงกัน หากคุณจะใช้ -f (ละเว้นกรณี) หรือ -d (ตัวอักษรและตัวเลขและช่องว่างเท่านั้น) ตัวเลือกด้วย lookคุณต้องใช้มันเมื่อคุณจัดเรียงไฟล์

คน -o ตัวเลือก (เอาท์พุท) อนุญาตให้คุณระบุชื่อของไฟล์ที่บรรทัดที่เรียงแล้วควรถูกเพิ่มเข้าไป ในตัวอย่างนี้มันเป็น“ sort.txt”

sort -f -d the-jumblies.txt -o sorted.txt

sort -f -d the-jumblies.txt -o Sort.txt ในหน้าต่างเทอร์มินัล

มาใช้ประโยชน์กัน look บนไฟล์ sort.txt จากนั้นใช้ -f และ -d ตัวเลือก.

sort -f -d the-jumblies.txt -o Sort.txt ในหน้าต่างเทอร์มินัล

ตอนนี้เราได้รับผลลัพธ์ที่เราคาดหวัง

พิจารณาเฉพาะช่องว่างและตัวอักษรและตัวเลข

หากต้องการทำให้มองไม่สนใจสิ่งใดก็ตามที่ไม่ใช่ตัวอักษรผสมตัวเลขหรือเว้นวรรคให้ใช้ -d ตัวเลือก (ตัวอักษรและตัวเลข)

มาดูกันว่ามีคำใด ๆ ที่ขึ้นต้นด้วย“ โอ้”

look -f oh the-jumblies.txt

ดู -f oh the-jumblies.txt ในหน้าต่างเทอร์มินัล

ไม่มีผลลัพธ์ถูกส่งคืนโดย look.

ลองอีกครั้งแล้วบอกให้มองข้ามสิ่งอื่นที่ไม่ใช่ตัวอักษรและตัวเลขและช่องว่าง นั่นหมายความว่าอักขระและสัญลักษณ์เช่นเครื่องหมายวรรคตอนจะถูกละเว้น

look -f -d oh the-jumblies.txt

ดู -f -d โอ้ the-jumblies.txt ในหน้าต่างเทอร์มินัล

ครั้งนี้เราได้รับผล เราไม่พบบรรทัดนี้มาก่อนเพราะเครื่องหมายคำพูดและเครื่องหมายอัศเจรีย์ทำให้การค้นหาสับสน

เอาต์พุตจาก "look -f -d oh the-jumblies.txt" ในหน้าต่างเทอร์มินัล

การระบุอักขระการสิ้นสุด

คุณสามารถบอกได้ look เพื่อใช้อักขระเฉพาะเป็นอักขระยกเลิก โดยปกติจะใช้ช่องว่างและจุดสิ้นสุดของบรรทัดเป็นอักขระที่ยกเลิก

คน -t ตัวเลือก (ยกเลิกอักขระ) ช่วยให้เราสามารถระบุอักขระที่เราต้องการใช้ ในตัวอย่างนี้เราจะใช้เครื่องหมายอะโพสโทรฟี เราจำเป็นต้องเสนอราคาด้วยเครื่องหมายสแลชย้อนหลังเพื่อให้ look รู้ว่าเราไม่ได้เปิดสตริง

นอกจากนี้เรายังอ้างข้อความค้นหาเนื่องจากมีช่องว่าง เรากำลังค้นหาคำสองคำ

look -f -t ' "they call" the-jumblies.txt

look -f -t '"พวกเขาเรียกว่า" the-jumblies.txt ในหน้าต่างเทอร์มินัล

ผลลัพธ์ตรงกับคำค้นหายุติลงโดยเครื่องหมายอัญประกาศเดี่ยวที่เราใช้เป็นอักขระยกเลิก

เอาต์พุตจาก "look -f -t '" เรียกว่า "the-jumblies.txt" ในหน้าต่างเทอร์มินัล

การใช้ look ที่ไม่มีไฟล์

หากคุณไม่ได้ให้ชื่อไฟล์ในบรรทัดคำสั่งให้ดูที่การใช้ไฟล์คำ

คำสั่ง:

"look circle" ในหน้าต่างเทอร์มินัล

ให้ผลลัพธ์เหล่านี้:

ผลลัพธ์ "look circle" ในหน้าต่างเทอร์มินัล

นี่คือคำทั้งหมดในไฟล์ที่ขึ้นต้นด้วยคำว่า "วงกลม"

มองไม่เพิ่มเติม

นั่นคือทั้งหมดที่มีให้ look.

มันค่อนข้างง่ายเมื่อคุณรู้ว่ามีพฤติกรรมที่แตกต่างกันในการกระจาย Linux ที่ต่างกันและคุณได้ตรวจสอบว่ารุ่นของคุณใช้การค้นหาแบบไบนารี่หรือเชิงเส้น