BASH echo mit sed
Habe ich:
Location.txt (Inhalt)
some_line1
some_line2
some_line3
region.txt (Inhalt)
region1
region2
region3
uri.txt (Inhalt)
/some_text/some_text1/***/
/some_text/***/some_text2/
/***/some_text/some_text3/
Brauche ich zum erstellen von Dateien
region1
region2
region3
und jeder von Ihnen haben zu füllen, mit der folgenden (Namen von der region, statt der Sterne)
Beispiel der Datei region1
/some_text/some_text1/region1/
some_line1
some_line2
some_line3
/some_text/region1/some_text2
some_line1
some_line2
some_line3
/region1/some_text/some_text3
some_line1
some_line2
some_line3
Beispiel der Datei regionen2 (name der region die anstelle der Sterne)
/some_text/some_text1/region2/
some_line1
some_line2
some_line3
/some_text/region2/some_text2
some_line1
some_line2
some_line3
/region2/some_text/some_text3
some_line1
some_line2
some_line3
Nun habe ich
#!/bin/bash
while read region
do
while read uri
do
echo $uri >> "/home/user/regions/$region"
done < uri.txt
done < region.txt
Dieses Skript Dateien erstellt mit den Namen der Linien von region.txt
und füllen Sie es mit Zeilen aus uri.txt
.
Aber ich habe eine Menge von Dateien. Jede Datei sollte ausgefüllt sein mit vielen Standorten, aber eine Zeile, in jeder Lage sollte der geänderte Zeile aus uri.txt
.
Sieht aus wie ich
cat $file|sed 's/^was/now/'
aber ich weiß nicht, wie es zu benutzen.
Jede Hilfe bitte.
- Wo kommt
location.txt
ins Spiel kommen? Sie aufgelistet in der Anfang Ihrer Beschreibung und erwähnt es im folgenden Absatz, aber Sie nicht es irgendwo anders, es ist unklar, welche Inhalte Sie suchen in alle/home/user/regions/$region
- Dateien. - vielleicht fügen Sie eine kleine Probe von einigen Dateien und das erwartete Ergebnis in einer von Ihnen.
- Sorry. Ich habe meinen post editiert
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn ich das richtig verstehe Ihr problem als 3 verschachtelte for-Zyklus kann die Arbeit machen.
Ergebnis:
Ich hoffe das hilft!
for
Schleife aufcat
. Schande über Sie für die Verbreitung von schlechten Praktiken!-1
.Ich würde awk für diese:
@user2874004: Ihr Skript, ein wenig besser geschrieben:
(Ich habe keine Ahnung, was es bedeutet, wenn
:)
).Endlich ich Folgendes und es funktioniert.
Danke Euch allen für Eure Hilfe.