ลินุกซ์ 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
ใช้เชิงเส้นแทนการค้นหาแบบไบนารี
คุณธรรมของเรื่องราวคือการตรวจสอบหน้าคนท้องถิ่นก่อน
การค้นหาเชิงเส้นเมื่อเทียบกับการค้นหาแบบไบนารี
วิธีการค้นหาแบบไบนารี่นั้นเร็วขึ้นเรื่อย ๆมีประสิทธิภาพมากกว่าการค้นหาแบบเชิงเส้น การทำงานกับไฟล์ขนาดใหญ่ทำให้สิ่งนี้ชัดเจนมาก ข้อเสียของการค้นหาแบบไบนารีคือไฟล์ของคุณจะต้องเรียงลำดับ หากคุณไม่ต้องการจัดเรียงไฟล์ของคุณให้เรียงลำดับสำเนาไฟล์จากนั้นใช้ไฟล์นั้นด้วย look
.
เราจะสาธิตเรื่องนี้ที่อื่นในบทความนี้ เพิ่งทราบว่าใน Fedora, Manjaro และฉันคาดว่าส่วนที่เหลือของโลก Linux คุณจะต้องสร้างสำเนาที่เรียงลำดับของไฟล์ของคุณและทำงานกับมัน
การติดตั้งคำ
look
สามารถทำงานกับไฟล์ข้อความใด ๆ ที่คุณเลือกหรือสามารถทำงานกับ "word" ในพจนานุกรมไฟล์โลคอล
ใน Manjaro คุณต้องติดตั้งไฟล์“ words” ใช้คำสั่งนี้:
sudo pacman -Syu words
การใช้รูปลักษณ์
สำหรับบทความนี้เราจะทำงานกับไฟล์ข้อความของบทกวี Edward Lear“ The Jumblies”
ลองดูเนื้อหาด้วยคำสั่งนี้:
less the-jumblies.txt
นี่คือส่วนแรกของบทกวี โปรดทราบว่าเรากำลังใช้งาน Ubuntu ดังนั้นไฟล์จะยังคงไม่ถูกเรียงลำดับ สำหรับ Fedora และ Manjaro เราทำงานกับสำเนาไฟล์ที่เรียงลำดับซึ่งเราจะกล่าวถึงในภายหลังในบทความนี้
หากเรามองหาบรรทัดที่เริ่มต้นด้วยคำว่า "พวกเขา" เราจะค้นหาว่า Jumblies ทำอะไรบ้าง
look They the-jumblies.txt
look
ตอบกลับโดยแสดงรายการบรรทัดเหล่านี้:
ไม่สนใจกรณีตัวอักษร
เพื่อทำ look
เพิกเฉยความแตกต่างระหว่างตัวพิมพ์ใหญ่และตัวพิมพ์เล็กใช้ -f
ตัวเลือก (ละเว้นกรณี) เราใช้คำว่า "พวกเขา" เป็นคำค้นหาอีกครั้ง แต่คราวนี้มันเป็นตัวพิมพ์เล็ก
look -f they the-jumblies.txt
เวลานี้ผลลัพธ์รวมบรรทัดพิเศษ
บรรทัดที่ขึ้นต้นด้วย“ พวกเขา” นั้นพลาดในผลลัพธ์ชุดสุดท้ายเพราะมันเป็นตัวพิมพ์ใหญ่ทั้งหมดและไม่ตรงกับคำค้นหาของเรา“ พวกเขา”
กรณีที่ไม่ได้รับอนุญาต look
เพื่อรวมไว้ในผลลัพธ์
การใช้รูปลักษณ์ด้วยไฟล์ที่เรียงลำดับ
หากการกระจาย Linux ของคุณมีรุ่น look
ซึ่งเป็นไปตามพฤติกรรมดั้งเดิมของการใช้การค้นหาแบบไบนารีคุณต้องเรียงลำดับไฟล์ของคุณหรือทำงานกับสำเนาที่เรียงลำดับแล้ว
ลองทำซ้ำคำสั่งเพื่อค้นหา "พวกเขา" แต่คราวนี้กับ Manjaro
อย่างที่คุณเห็นไม่มีการส่งคืนผลลัพธ์ แต่เรารู้ว่ามีบทกวีในบรรทัดที่ขึ้นต้นด้วยคำว่า“ พวกเขา”
มาทำสำเนาไฟล์เรียงกัน หากคุณจะใช้ -f
(ละเว้นกรณี) หรือ -d
(ตัวอักษรและตัวเลขและช่องว่างเท่านั้น) ตัวเลือกด้วย look
คุณต้องใช้มันเมื่อคุณจัดเรียงไฟล์
คน -o
ตัวเลือก (เอาท์พุท) อนุญาตให้คุณระบุชื่อของไฟล์ที่บรรทัดที่เรียงแล้วควรถูกเพิ่มเข้าไป ในตัวอย่างนี้มันเป็น“ sort.txt”
sort -f -d the-jumblies.txt -o sorted.txt
มาใช้ประโยชน์กัน look
บนไฟล์ sort.txt จากนั้นใช้ -f
และ -d
ตัวเลือก.
ตอนนี้เราได้รับผลลัพธ์ที่เราคาดหวัง
พิจารณาเฉพาะช่องว่างและตัวอักษรและตัวเลข
หากต้องการทำให้มองไม่สนใจสิ่งใดก็ตามที่ไม่ใช่ตัวอักษรผสมตัวเลขหรือเว้นวรรคให้ใช้ -d
ตัวเลือก (ตัวอักษรและตัวเลข)
มาดูกันว่ามีคำใด ๆ ที่ขึ้นต้นด้วย“ โอ้”
look -f oh the-jumblies.txt
ไม่มีผลลัพธ์ถูกส่งคืนโดย look
.
ลองอีกครั้งแล้วบอกให้มองข้ามสิ่งอื่นที่ไม่ใช่ตัวอักษรและตัวเลขและช่องว่าง นั่นหมายความว่าอักขระและสัญลักษณ์เช่นเครื่องหมายวรรคตอนจะถูกละเว้น
look -f -d oh the-jumblies.txt
ครั้งนี้เราได้รับผล เราไม่พบบรรทัดนี้มาก่อนเพราะเครื่องหมายคำพูดและเครื่องหมายอัศเจรีย์ทำให้การค้นหาสับสน
การระบุอักขระการสิ้นสุด
คุณสามารถบอกได้ look
เพื่อใช้อักขระเฉพาะเป็นอักขระยกเลิก โดยปกติจะใช้ช่องว่างและจุดสิ้นสุดของบรรทัดเป็นอักขระที่ยกเลิก
คน -t
ตัวเลือก (ยกเลิกอักขระ) ช่วยให้เราสามารถระบุอักขระที่เราต้องการใช้ ในตัวอย่างนี้เราจะใช้เครื่องหมายอะโพสโทรฟี เราจำเป็นต้องเสนอราคาด้วยเครื่องหมายสแลชย้อนหลังเพื่อให้ look
รู้ว่าเราไม่ได้เปิดสตริง
นอกจากนี้เรายังอ้างข้อความค้นหาเนื่องจากมีช่องว่าง เรากำลังค้นหาคำสองคำ
look -f -t ' "they call" the-jumblies.txt
ผลลัพธ์ตรงกับคำค้นหายุติลงโดยเครื่องหมายอัญประกาศเดี่ยวที่เราใช้เป็นอักขระยกเลิก
การใช้ look ที่ไม่มีไฟล์
หากคุณไม่ได้ให้ชื่อไฟล์ในบรรทัดคำสั่งให้ดูที่การใช้ไฟล์คำ
คำสั่ง:
ให้ผลลัพธ์เหล่านี้:
นี่คือคำทั้งหมดในไฟล์ที่ขึ้นต้นด้วยคำว่า "วงกลม"
มองไม่เพิ่มเติม
นั่นคือทั้งหมดที่มีให้ look
.
มันค่อนข้างง่ายเมื่อคุณรู้ว่ามีพฤติกรรมที่แตกต่างกันในการกระจาย Linux ที่ต่างกันและคุณได้ตรวจสอบว่ารุ่นของคุณใช้การค้นหาแบบไบนารี่หรือเชิงเส้น