มีวิธีใช้ไวด์การ์ดด้วยaptitude
เช่นในสิ่งต่อไปนี้หรือไม่:
sudo apt-get remove openoffice*.*
มีวิธีใช้ไวด์การ์ดด้วยaptitude
เช่นในสิ่งต่อไปนี้หรือไม่:
sudo apt-get remove openoffice*.*
คำตอบ:
http://ubuntuforums.org/showthread.php?t=228309ระบุว่าเป็นไปได้ผ่านทางโครงสร้างเช่น~n<package name>
นี้และได้รับการยืนยันโดยคู่มือผู้ใช้http://algebraicthunk.net/~dburrows/projects/aptitude/doc/en/ ch02s03s02.html
~n
in ~n<package name>
เป็นรูปแบบการค้นหาสำหรับชื่อแพ็คเกจที่ตรงกัน นอกจากนี้ยังเป็นไปได้ที่จะตรงกับสาขาอื่น ๆ กว่าชื่อแพคเกจดูhttp://algebraicthunk.net/~dburrows/projects/aptitude/doc/en/ch02s03s05.html#tableSearchTermQuickGuide
นี่คือตัวอย่าง สมมติว่าคุณต้องการaptitude
แสดงทุกแพ็คเกจด้วย "redshift" ในชื่อของมันจากนั้นคุณก็ออก
aptitude show ~nredshift
ควรใช้ร่วมกับตัวเลือกความถนัดอื่น ๆ เช่นติดตั้งและลบเช่นกันเพื่อลบแพ็คเกจที่ติดตั้งทั้งหมดด้วย openoffice ในชื่อที่คุณออก
sudo aptitude -P remove ~nopenoffice
ตรวจสอบให้แน่ใจว่าใช้-P
ตัวเลือกเมื่อใช้รูปแบบการค้นหาเพื่อบังคับให้ความสามารถในการแสดงพรอมต์ก่อนดาวน์โหลดติดตั้งหรือลบแพ็กเกจ (รูปแบบการค้นหาอาจมีการจับคู่จำนวนมากและคุณจะต้องได้รับแจ้งก่อนดำเนินการ)
สิ่งหนึ่งที่ฉันไม่ได้ทำคือการรับฟังก์ชั่นที่แน่นอนของสัญลักษณ์แทนเช่นopenoffice*
ตรงกับทุกสายที่ขึ้นต้นด้วย "openoffice" ( ~nopenoffice
ตรงกับสตริงใด ๆที่มี "openoffice") อาจเป็นวิธีการแก้ปัญหาที่เป็นไปได้เช่นการค้นหาแพคเกจที่ติดตั้งด้วยสตริงที่แน่นอนในชื่อของพวกเขาแล้วฟีดความถนัดกับชื่อของพวกเขา
คุณเพิ่งใส่ไว้ในเครื่องหมายคำพูด:
sudo apt-get remove "openoffice*"
มิฉะนั้นเชลล์จะพยายามจับคู่สิ่งนี้กับไฟล์ของไดเรกทอรีการทำงานปัจจุบันของคุณ
aptitude
apt-get
วิธีแก้ปัญหานี้ใช้ไม่ได้กับความถนัด
หากต้องการจับคู่สตริงที่ขึ้นต้นด้วยชื่อแพ็กเกจให้เติม a ^
ด้านหน้าไว้ข้างหน้า
เช่น:aptitude search ~n^openoffice