Am Donnerstag, 24. März 2005 20:56 schrieb Al Bogner:
Ich möchte ein Script machen, dass die unterschiedlichen Programme von 2 Rechnern ausgibt.
Dazu erstellt man also mit rpm -qa eine Datei
Ein Ausschniit wäre zB
gnome-media-2.8.0-3.FC3.1 rhgb-0.16.2-1.FC3 openssh-askpass-3.9p1-8.0.1 NetworkManager-gnome-0.3.4-1.1.0.fc3 exiftags-0.99.1-2.1.fc3.rf libdvdcss-1.2.8-4.1.fc3.rf xvidcore-1.0.3-1.1.fc3.rf perl-Net-DNS-0.48-1.1.fc3.rfnmap nmap-3.81-1.1.fc3.rf libkipi-0.1-2
Ein 2 Datei wäre. zB:
gnome-media-2.8.0-3.FC3.1 rhgb-0.16.2-1.FC3 openssh-askpass-3.9p1-8.0.1 NetworkManager-gnome-0.3.4-1.1.0.fc3 libdvdcss-1.2.8-4.1.fc3.rf xvidcore-1.0.3-1.1.fc3.rf perl-Net-DNS-0.48-1.1.fc3.rf libkipi-0.1-2
Der Unterschied wäre also: exiftags-0.99.1-2.1.fc3.rf nmap-3.81-1.1.fc3.rf
Gesucht ist: exiftags nmap
Wie kürze ich nun gnome-media-2.8.0-3.FC3.1 auf gnome-media?
Man kann ja nicht einfach "-" als Trenner verwenden. Manchmal ist der Programmname nach dem 1. "-" definiert, manchmal sind es aber mehrere "-". Eventuell könnte man nach dem 1. "-" mit folgender Zahl suchen?
hosta $ rpm -qa --queryformat '%{NAME}\n' > datei1.txt hostb $ rpm -qa --queryformat '%{NAME}\n' > datei2.txt
Die 2. Frage ist wie man am einfachsten die "Diff-Kennzeichnungen" wegbekommt, also ">", Zeilennummern, etc., sodass nur eine Liste mit den unterschiedlichen Programmen übrigbleibt und zwar alles in 1 Zeile, sodass man das dann direkt rpm, apt oder yum übergeben kann.
$ cat datei1.txt datei2.txt | sort | uniq -u | tr '\n' ' ' -- Andreas