Script um Zeilen aus einer Datei an eine bestimmte Stelle in einer anderen Datei zu kopieren
Hallo zusammen,
ich habe folgendes Problem, ich habe Paketlisten die ungefähr so aussehen:
...
;Paket1;x86_64;;;#
;Paket2;x86_64;;;#
;Paket3;x86_64;;;#
...
Nun habe ich noch die einzelnen Dateien (z.B. Paket1.x86_64.rpm). Diese haben in einer Zeile stehen, für was dieses Paket verwendet wird (z.B. Verwendung: Konfiguration).
Ich möchte nun, dass genau diese Zeile (Verwendung des Pakets) in der Paketliste s.o. hinter der # des jeweils richtigen Pakets landet.
Da die Paketliste viel zu lang ist, hätte ich hierfür gerne ein Bash Script, dass dies automatisch erledigt.
Ich hoffe Ihr könnt mir helfen und bedanke mich vorab für eure Antworten.
ich habe folgendes Problem, ich habe Paketlisten die ungefähr so aussehen:
...
;Paket1;x86_64;;;#
;Paket2;x86_64;;;#
;Paket3;x86_64;;;#
...
Nun habe ich noch die einzelnen Dateien (z.B. Paket1.x86_64.rpm). Diese haben in einer Zeile stehen, für was dieses Paket verwendet wird (z.B. Verwendung: Konfiguration).
Ich möchte nun, dass genau diese Zeile (Verwendung des Pakets) in der Paketliste s.o. hinter der # des jeweils richtigen Pakets landet.
Da die Paketliste viel zu lang ist, hätte ich hierfür gerne ein Bash Script, dass dies automatisch erledigt.
Ich hoffe Ihr könnt mir helfen und bedanke mich vorab für eure Antworten.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 296507
Url: https://administrator.de/forum/script-um-zeilen-aus-einer-datei-an-eine-bestimmte-stelle-in-einer-anderen-datei-zu-kopieren-296507.html
Ausgedruckt am: 09.04.2025 um 14:04 Uhr
2 Kommentare
Neuester Kommentar

Noch weniger detaillierte Infos zum Vorhaben gingen wohl nicht ?? Na dann:
fk
#!/bin/bash
LIST="./packetlist.txt"
data=$(cat "$LIST")
for rpm in *.rpm ;do
name=$(echo $rpm | cut -d '.' -f 1)
arch=$(echo $rpm | cut -d '.' -f 2)
usage=$(grep -Poi 'Verwendung:.*' "$rpm")
data=$(echo "$data" | sed -re "s/(^;$name;$arch;.*)/\1 $usage/i")
done
echo "$data" >"$LIST"