Làm thế nào để sử dụng ký tự đại diện với năng khiếu?


22

Có cách nào để sử dụng các ký tự đại diện aptitudenhư sau:

sudo apt-get remove openoffice*.*

Câu trả lời:


16

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 .

~ntrong ~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 aptitudehiể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 -Ptù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" ( ~nopenofficekhớ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.


-P có nghĩa là không bao giờ theo các liên kết tượng trưng, ​​không nhắc nhở
rancho

Ngoài ra, sử dụng ~ nredshift sẽ không tìm kiếm dịch chuyển đỏ, nhưng ~ nredshift. Ngoài ra ~ n không có bất kỳ đối số nào theo mặc định
rancho

Câu trả lời được đưa ra bởi NorticUs là chính xác. Cú pháp đúng ở đây sẽ là ~ n ^ redshift
rancho

5

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.


5
Câu hỏi là về aptitudevà không apt-get. Giải pháp này không hoạt động với năng khiếu.
NN

@ MichałŠrajer: không có sự mở rộng tên đường dẫn nào xảy ra trong dấu ngoặc kép, cả đơn và kép
enzotib

@enzotib: Sai lầm của tôi. Cảm ơn đã chỉ ra điều đó. Xóa bình luận.
Michał rajer

ok, tôi không hiểu ... vì vậy có thể được thực hiện với năng khiếu hoặc làm việc theo cách đó ... sudo aptitude loại bỏ "openoffice *"
raulricardo21

@ raulricardo21 Một điều tương tự có thể được thực hiện với năng khiếu, xem câu trả lời của tôi .
NN

4

Để 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


Tôi chỉ là phần tìm kiếm, bạn cũng nên đề cập đến cách nhận kết quả tìm kiếm
rancho
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.