ich - noch recht unerfahren in Sachen Shell Programmierung - habe leider auch nach Studium der für Einsteiger empfohlenen Links (vielen Dank!) mein Wunsch-Bash-Skript nicht zu 100% erstellen können.
Ich habe eine Liste von Dateien
Diese Dateien möchte ich zu einer neuen Datei, die - sollte sie schon existieren einfach überschreiben werden soll - die Inhalte der einzelnen Dateien enthalten sollen, zusammen mit einem Vermerk aus welcher urspünglichen Datei die entsprechende Zeile stammt.datei_1.txt
datei_10.txt
datei_200.txt
Alternativ würde es auch gehen, wenn einfach der Beginn einer neuen Urspungsdatei speziell gekennzeichnet wird, und zwar durch deren Nummer, also bei "datei_200.txt" wäre das dann "200".
Mein Script sieht bisher so aus:
Ist vermutlich ziemlich schlecht gemacht aber es funktioniert, nur leider gibt es nicht die Nummer aus sondern den ganzen Dateinamen der Urspungsdatei:#!/bin/bash
for FILE in /pfad/zu/datei_*.txt
do
echo "#$FILE"
cat $FILE
echo
done
Damit ich das Script aber einsetzen kann bräuchte ich entweder etwas in der Form#/pfad/zu/datei_1.txt
zeile1 aus datei_1.txt
zeile2 aus datei_1.txt
zeile3 aus datei_1.txt
#/pfad/zu/datei_10.txt
zeile1 aus datei_10.txt
zeile2 aus datei_10.txt
zeile3 aus datei_10.txt
#/pfad/zu/datei_200.txt
zeile1 aus datei_200.txt
zeile2 aus datei_200.txt
zeile3 aus datei_200.txt
oder aber auch, wie oben beschreiben, so etwas:#1
zeile1 aus datei_1.txt
zeile2 aus datei_1.txt
zeile3 aus datei_1.txt
#10
zeile1 aus datei_10.txt
zeile2 aus datei_10.txt
zeile3 aus datei_10.txt
#200
zeile1 aus datei_200.txt
zeile2 aus datei_200.txt
zeile3 aus datei_200.txt
zeile1 aus datei_1.txt,1
zeile2 aus datei_1.txt,1
zeile3 aus datei_1.txt,1
zeile1 aus datei_10.txt,10
zeile2 aus datei_10.txt,10
zeile3 aus datei_10.txt,10
zeile1 aus datei_200.txt,200
zeile2 aus datei_200.txt,200
zeile3 aus datei_200.txt,200
Leider habe ich keinen Befehl/keine Technik gefunden, mit der ich das so bewerkstelligen kann. Eigentlich fehlt bloß eine Variable, die mir den Inhalt des "Sternchens" zurückgibt. Leider habe ich so etwas in den Manuals nicht gefunden.
Kann mir hier evtl. jemand weiterhelfen?
Vielen Dank schon im Voraus!
MfG
Hermann
