Shell-Befehl sed

themok

Grünschnabel
Hallo alle zusammen!

Mit sed -n '$=' filename.txt kann man ja die Zeilen zählen lassen. Das funktioniert in der shell auch einwandfrei.
Aber wenn ich im Makefile eine Variable definiere, wird die nicht mit der Zahl belegt. Hab das so gemacht:

LNS = $(shell sed -n '$=' filename.txt)

und dann irgendwann eben etwas in der Art:

@echo $(LNS)

jedenfalls wird da keine Zahl ausgegeben, nur ein "leeres" zeichen. Jemand ne Ahnung, woran das liegt?

muchas gracias !
 
Nur noch als Anmerkung - folgendes funktioniert ja auch, warum dann nicht das andere?

SRV = $(shell uname -n)
...
...
target:
@echo $(SRV)
 
gruß korn!

ja das mit dem wc -l geht, das hatte ich auch schon probiert. Aber da hängt leider der string mit dem dateiname noch mit dran, den ich gar nich gebrauchen kann, da ich mit der Zahl weiterrechnen möchte. Alles sehr konfus ;-)
 
themok hat gesagt.:
gruß korn!

ja das mit dem wc -l geht, das hatte ich auch schon probiert. Aber da hängt leider der string mit dem dateiname noch mit dran, den ich gar nich gebrauchen kann, da ich mit der Zahl weiterrechnen möchte. Alles sehr konfus ;-)

Doch, rechnen kannst du:
Code:
WERT = "`wc -l < filename.txt`"

filename: filename.txt
	test=$$(expr $(WERT) + 1000); \
	echo $$test

gruß
thekorn
 
Tja, manchmal sieht man halt den Wald vor lauter Bäumen nicht...
Mit sed:
Code:
WERT = "`sed -n $$= filename.txt`"

filename: filename.txt
	@test=$$(expr $(WERT) + 1000); \
	echo $$test

Was lernen wir daraus? Aus "$" wird "$$" :rolleyes:

gruß
thekorn
 
jaaa ... danke! habs nach einigem hin und her so wie's sein soll. Durch das < in dem wc befehl wird nämlich gar kein string angehängt. Ausgezeichnet (Mr Burns :-) )

Danke vielmals!
 
Zurück