Come usare i caratteri jolly con aptitude?


22

Esiste un modo per utilizzare i caratteri jolly aptitudecome nel modo seguente:

sudo apt-get remove openoffice*.*

Risposte:


16

http://ubuntuforums.org/showthread.php?t=228309 indica che è possibile tramite costrutti come ~n<package name>e questo è confermato dal manuale dell'utente http://algebraicthunk.net/~dburrows/projects/aptitude/doc/en/ ch02s03s02.html .

~nin ~n<package name>è un modello di ricerca per abbinare i nomi dei pacchetti. È anche possibile abbinare campi diversi dai nomi dei pacchetti, vedere http://algebraicthunk.net/~dburrows/projects/aptitude/doc/en/ch02s03s05.html#tableSearchTermQuickGuide .

Ecco un esempio Supponi di voler aptitudemostrare ogni pacchetto con "redshift" nel suo nome, quindi emetti

aptitude show ~nredshift

Dovrebbe essere combinabile con altre opzioni di aptitude, come install e remove, ad esempio per rimuovere tutti i pacchetti installati con openoffice nel loro nome

sudo aptitude -P remove ~nopenoffice

Assicurati di usare l' -Popzione quando usi i pattern di ricerca per forzare aptitude a visualizzare un prompt prima di scaricare, installare o rimuovere i pacchetti (il pattern di ricerca potrebbe avere molte corrispondenze e ti verrà chiesto di essere richiesto prima di eseguire un'azione).

Una cosa che non ho elaborato è come ottenere l'esatta funzionalità dei caratteri jolly, ad esempio che openoffice*corrisponde a ogni stringa che inizia con "openoffice" ( ~nopenofficecorrisponde a qualsiasi stringa contenente "openoffice"). Forse è possibile una soluzione alternativa, ad esempio per cercare pacchetti installati con una determinata stringa nei loro nomi e quindi alimentare aptitude con i loro nomi.


-P è pensato per non seguire mai collegamenti simbolici, non rapidi
rancho

Anche l'uso di ~ nredshift non cercherà redshift, ma ~ nredshift. Anche ~ n non è un argomento predefinito
rancho

La risposta data da NorticUs è paartly corretta. La sintassi corretta qui sarebbe ~ n ^ redshift
rancho

5

Lo metti tra virgolette:

sudo apt-get remove "openoffice*"

Altrimenti la shell proverebbe a far corrispondere questo ai file della directory di lavoro corrente.


5
La domanda riguarda aptitudee no apt-get. Questa soluzione non funziona con aptitude.
NN,

@ MichałŠrajer: tra virgolette non si verifica alcuna espansione del nome di percorso, sia singolo che doppio
enzotib,

@enzotib: errore mio. Grazie per segnalarlo. Commento rimosso.
Michał Šrajer,

ok, non capisco ... quindi si può fare con aptitude o lavorare in quel modo ... sudo aptitude remove "openoffice *"
raulricardo21

@ raulricardo21 Una cosa simile può essere fatta con attitudine, vedi la mia risposta .
NN,

4

Per abbinare le stringhe che iniziano con un nome di pacchetto, anteporre ^a di fronte.
per esempio:aptitude search ~n^openoffice


Faccio solo la parte di ricerca, dovresti anche menzionare come ottenere il risultato della ricerca
Rancho,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.