Frage sed

Bash, Shell, PHP, Python, Perl, CGI
AWOHille
Posts: 270
Joined: 2011-09-05 09:00

Frage sed

Post by AWOHille » 2015-02-25 15:45

Hallo,

ich möchte in eine Datei, an einer bestimmten Zeile z.B. Zeile 5, einen bestimmten Text an diese Zeile ran hängen. Das Auslesen einer bestimmten Zeile in einer Datei habe ich so erledigt

Code: Select all

sed -n '5 p' datei.txt


Deinen bestimmenden Text an jedes Zeilenende so

Code: Select all

sed -i 's/$/, text/g' /datei.txt


Wie bekomme ich es nun hin, das diese Text nur in Zeile 5, an den bestehenden Text, angehängt wird?

ddm3ve
Moderator
Moderator
Posts: 1125
Joined: 2011-07-04 10:56

Re: Frage sed

Post by ddm3ve » 2015-03-02 22:12

Ich habe eine Datei angelegt: test.txt mit folgenden Inhalt

Code: Select all

11
12
13
14
1
16
17
18


Danach folgenden Befehle ausgeführt und das Ergebnis:
sed -e "5 s/$/5/g" -i test.txt

sed hat mit in Zeile 5 die 5 angefügt.

Was macht der Befehl nun genau? "5 " gibt die Zeile an, s/$/ sucht nach dem Zeilenende und erzetzt dieses /5/ mit 5. /g gilt global,. -i erledigt das innerhalb der Daten und nicht über STDIN/STDOUT.
02:32:12 21.12.2012 und dann sind Deine Probleme alle unwichtig.

AWOHille
Posts: 270
Joined: 2011-09-05 09:00

Re: Frage sed

Post by AWOHille » 2015-03-03 15:01

Perfekt, danke!