มีคำสั่ง Unix มาตรฐานในการตรวจสอบการผันคำกริยาภาษาอังกฤษหรือไม่?


19

เมื่อเร็ว ๆ นี้พบกับwordlistและwordnet การค้นพบที่ยอดเยี่ยมสองอย่างด้วยตัวเองตอนนี้ฉันกำลังมองหาเครื่องมือที่คล้ายกันถ้าง่ายกว่านั่นจะใช้คำกริยาที่เปลือยเปล่าของกริยาและกลับสู่อดีต ตัวอย่าง:

$ verbteacher throw

Simple past: threw
Past participle: thrown

ไม่มีใครรู้ว่าจะหาverbteacher(1)ที่ไหน?

คำตอบ:


22

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

 $ function verbteacher() { 
    wget -qO - http://conjugator.reverso.net/conjugation-english-verb-$1.html | \
    sed -n "/>Preterite\|>Past</{s@<[^>]*>@ @g;s/\s\+/ /g;/e I/s/.* I \([^ ]*\) you .*/Simple past: \1/;/ Past/s/ Past /Past participle: /;p}" ; 
 }
 $ verbteacher go
Simple past: went
Past participle: gone 
 $ verbteacher throw
Simple past: threw
Past participle: thrown 

ดังนั้นคุณสามารถใส่ฟังก์ชั่นนี้ใน ~ / .bashrc ของคุณและใช้มันจนกว่าเว็บไซต์จะเปลี่ยนโครงสร้างของมัน หวังว่ามันจะไม่ทำมัน

เห็นได้ชัดว่ามันจะไม่ทำงานหากไม่มีการเชื่อมต่ออินเทอร์เน็ต หวังว่านี่จะไม่สำคัญสำหรับคุณ


ขอขอบคุณ! แน่นอนว่าจะทำได้แม้ว่าหลังจากค้นพบรายการคำศัพท์และคำศัพท์ฉันหวังว่าจะมีบางสิ่งที่เป็นมาตรฐานที่ฉันไม่รู้
sadpluto

0

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

วิธีที่ง่ายที่สุดสำหรับการแสดงผลของแต่ละคำจะเป็นของตัวเองโดยแยกผลลัพธ์ออกเป็นแท็บ ถ้าอย่างนั้นคุณจะต้องเปรียบเทียบคำแรกของแต่ละบรรทัดเพื่อให้มีประสิทธิภาพมากขึ้น

หากคุณทำสิ่งนี้โปรดอัปโหลดสคริปต์และฐานข้อมูลแบบโอเพ่นซอร์สเนื่องจากฉันคิดว่ามีประโยชน์มากกว่านี้ ฉันคิดว่ามันจะเจ๋งที่จะรวมเข้ากับ Libra Office และปล่อยให้มันถูกใช้จากเทอร์มินัลเช่นกัน

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