Có cách nào để sử dụng các ký tự đại diện aptitude
như sau:
sudo apt-get remove openoffice*.*
Có cách nào để sử dụng các ký tự đại diện aptitude
như sau:
sudo apt-get remove openoffice*.*
Câu trả lời:
http://ubuntuforums.org/showthread.php?t=228309 chỉ ra rằng có thể thông qua các cấu trúc như ~n<package name>
và điều này được xác nhận bởi hướng dẫn sử dụng http://acheebraicthunk.net/~dburrows/projects/aptitude/doc/en/ ch02s03s02.html .
~n
trong ~n<package name>
là một mẫu tìm kiếm cho tên gói phù hợp. Bạn cũng có thể khớp các trường khác ngoài tên của các gói, hãy xem http://acheebraicthunk.net/~dburrows/projects/aptitude/doc/en/ch02s03s05.html#tableSearchTermQuickGuide .
Đây là một ví dụ. Giả sử bạn muốn aptitude
hiển thị mọi gói có "redshift" trong tên của nó, sau đó bạn phát hành
aptitude show ~nredshift
Nó cũng có thể kết hợp với các tùy chọn năng khiếu khác, chẳng hạn như cài đặt và gỡ bỏ, ví dụ: để xóa tất cả các gói đã cài đặt với openoffice trong tên của bạn, bạn phát hành
sudo aptitude -P remove ~nopenoffice
Đảm bảo sử dụng -P
tùy chọn khi sử dụng các mẫu tìm kiếm để bắt buộc phải hiển thị lời nhắc trước khi tải xuống, cài đặt hoặc xóa gói (mẫu tìm kiếm có thể có nhiều kết quả khớp và bạn sẽ muốn được nhắc trước khi thực hiện hành động).
Một điều mà tôi chưa giải quyết được là làm thế nào để có được chức năng chính xác của ký tự đại diện, ví dụ: openoffice*
khớp với mọi chuỗi bắt đầu bằng "openoffice" ( ~nopenoffice
khớp với bất kỳ chuỗi nào có chứa "openoffice"). Có thể một cách giải quyết là có thể, ví dụ như tìm kiếm các gói đã cài đặt với một chuỗi nhất định trong tên của chúng và sau đó cung cấp năng khiếu với tên của chúng.
Bạn chỉ cần đặt nó trong dấu ngoặc kép:
sudo apt-get remove "openoffice*"
Nếu không, shell sẽ cố khớp nó với các tập tin trong thư mục làm việc hiện tại của bạn.
aptitude
và không apt-get
. Giải pháp này không hoạt động với năng khiếu.
Để khớp chuỗi bắt đầu bằng tên gói, hãy đặt trước một ^
chuỗi.
ví dụ:aptitude search ~n^openoffice