PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : grep problem



espo
07-07-2005, 19:32
Hi zusammen,
mein problem sieht so aus.

ich habe eine Datei da steht ungefaehr sowas drin

... (infos die net wichtig sind)
xx8100Befund
xx8230l/min
xx8319Dr. Blubb
... (mehrere Dinge)
xx8100Befund2
xx8230lhz
xx8319Dr. Bla

nun muss ich mit grep die daten oben in eine externe datei befoerdern nur tut ja
cat datei | grep 8100 > neuedatei
nicht da er ja dann alle 8100 etc untereinander schreibt aber ich brauch sie in bloecken!

weis einer rat?!

mfg eSpo

netlinker
07-07-2005, 22:29
Hi,

vielleicht gibts ja schönere Lösungen, aber folgendes sollte gehen:


#!/usr/local/bin/bash

srcfile=$1
newfile=$2

if [ $# -lt 2 ]; then
echo "usage $0 <Src-File> <Dest-File>"
exit 1
fi

i=1
cat $srcfile | grep 8100 > $newfile
while read line; do
all8100[$i]=$line
i=$[i+1]
done < $newfile
echo "${all8100[@]} " > $newfile
exit 0Ausgabe wäre dann "xx8100Befund xx8100Befund2".
Wiess net ganz, ob es dass ist was du willst.

MfG Björn

michael.sprick
07-07-2005, 22:59
Ausgabe wäre dann "xx8100Befund xx8100Befund2".
Wiess net ganz, ob es dass ist was du willst.
Ist das das, was rauskommen soll? Dann ginge ja auch:



echo -n `cat datei | grep 8100`

shark
07-07-2005, 23:05
cat datei | grep 8100 | xargs echo > neuedatei



Cheers,

Shark

Joghurt
08-07-2005, 13:06
BTW:
cat foobar | grep baz sollte man sinnvollerweise als
grep foobar baz schreiben.