[Linux-Biella] reindirizzare dpkg
Daniele Segato
daniele.bilug a gmail.com
Dom 10 Maggio 2009 13:31:09 CEST
Il giorno sab, 09/05/2009 alle 23.00 +0200, Alessandro Crotti ha
scritto:
> > Se con dpkg -l | grep ciòchecerco trovo una lista di pacchetti e volessi
> > installarli tutti e' possibile utilizzare l'output del comando
> > reindirizzando tutto in apt??
si giocando con sed/awk
> for i in $(dpkg -l|grep quellochecerco); do sudo apt-get install $i; done
no così non va bene.. installa ogni pacchetto singolarmente!
quel che vuole Lorenzo, immagino, sia installarli tutti assieme
altrimenti ci va una vita!
apt-get install `dpkg -l | grep game | awk '{print $2}' | tr '\n' ' '`
in questo caso ho cercato "game" e ho usato "tr" che veniva più comodo
per sostituire gli "a-capo" con degli spazi..
ti spiego perché mi sento buono
apt-get install `qui dentro ci finisce il risultato (testo) del comando
che lancio... tutto ciò che sta tra queste virgolette rovesciate`
dpkg -l | grep game
questo tira fuori la lista di pacchetti che vuoi
| awk '{ print $2 }'
dalla lista precedente stampa solo la seconda colonna (awk di default
spezza le colonne secondo lo spazio...) che è il nome del pacchetto
| tr '\n' ' '
sostituisci gli "a-capo" con uno spazio
il risultato di quel comando è questo:
$ echo apt-get install `dpkg -l | grep game | awk '{print $2}' | tr '\n'
' '`
apt-get install amphetamine amphetamine-data balazar balazarbrothers
barrage beneath-a-steel-sky blockattack crack-attack einstein enigma
enigma-data enigma-doc fillets-ng flight-of-the-amazon-queen glest
glest-data gnome-breakout gnome-cards-data gnome-games gnome-games-data
gnome-games-extra-data gnome-hearts gnuchess gtkboard gweled gwp
kbackgammon liballegro4.2 libggzmod4 libkdegames1 magicor magicor-data
micropolis monster-masher monsterz nethack-common nethack-gnome
nethack-qt nethack-x11 neverball nexuiz-data pachi pachi-data pathogen
pipewalker planetpenguin-racer planetpenguin-racer-data python-2play
python-pygame python-tofu sauerbraten sauerbraten-data sauerbraten-wake6
scorched3d scorched3d-data sgt-puzzles slune stax torcs torcs-data
torcs-data-cars torcs-data-tracks tremulous vodovod xarchon
se la grep la vuoi solo sul nome del pacchetto ti basta invertire il
comando awk con il comando grep:
$ echo apt-get install `dpkg -l | awk '{print $2}' | grep game | tr '\n'
' '`
apt-get install gnome-games gnome-games-data gnome-games-extra-data
libkdegames1 python-pygame
io gli ho messo "echo" così vedi il comando che verrebbe eseguito :)
man regex
man grep
man sed
man awk
man tr
in più... se devi mettere un comando dentro l'altro puoi fare così:
comando `altro comando $( altro comando ancora )`
enjoy :)
Maggiori informazioni sulla lista
Linux