PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : BASH, echo ausgabe von variablen und befehlen



Fab96
17.08.07, 09:54
HI, stehe grad mächig aufem schlauch.

Mein Problem ist das ich per echo etwas ausgeben will und zwar einmal den wert einer variable, etwa $count und dahinter ein text den ich in einer variable habe und per grep und cut zurechtschneide.

Das Problem ist wie kann ich dies verbinden ?

habe den Text

#Ticket|Test1|mail1|Workstation|Workstation, Test1

in meiner variable $line
und eine zahl in $count


echo -e $line | grep '#' | cut -d '|' --output-delimiter=', ' -f '2 3 4'

gibt mir nun die gewollte ausgabe aus, aber mir fehlt die Zahl davor, sprich den inhalt von $count.

Nur wie kann ich diese mir anzeigen lassen ?
wenn ich $count davor schreibe hab ich die selbe ausgabe wie oben, ohne zahl, also wie verbinde ich es?

Bei $($line | grep '#' | cut -d '|' --output-delimiter=', ' -f '2 3 4') wird $line als befehl interpretiert, nur das ist ja falsch.

marce
17.08.07, 10:00
wie wäre es mit

echo $count $(echo -e $line | grep '#' | cut -d '|' --output-delimiter=', ' -f '2 3 4')

... geht aber sicher noch einfacher oder und anders...

Fab96
17.08.07, 10:03
argh ja, genau sowas ist mir auch mal eingefallen, aber habs wieder vergessen.

Auf jedenfall klappt es und darum danke, aber einfachere möglichkeiten würden mich auch interessieren da etwa in einer steh echo -e"$count|$line" | grep ...

nur dies funktioniert offenbar nicht.

marce
17.08.07, 10:14
echo "$count|$line" | grep '#' | cut -d '|' --output-delimiter=', ' -f '1 2 3 4 5'
So?

Fab96
17.08.07, 10:17
hm ja das geht, nur verseh ich die logik da nicht ganz, besonders als ich den befehlvon dir kopiere und er funktioniert während wo ich es schrieb es nicht klappte(muss mich wohl vertippt haben)

Wobei ich so ein # davor habe

marce
17.08.07, 10:21
ich auch - dass müsstest Du natürlich noch rausfiltern...

Übrigens "es geht nicht" ist garantiert nicht die Ausgabe, die Du bekommen hast, weder als Fehlermeldung noch als "Erfolg"...

Fab96
17.08.07, 10:23
Nein die ausgabe war nur *dertext in line* command not found, eben das er es in den falschen hals bekommen hat, mehr oder weniger