sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #96538
Re: grep og "
On Mon, Oct 20, 2008 at 11:34:39 +0200, Torben Andersen wrote:
> Hejsa,
>
> Har behov for noget i retning af:
>
> cat $fil |grep "Repair Operator Name" >>samlet.txt
> cat $fil |grep "Panel Name" >>samlet.txt
> cat $fil |grep "Total Repair Time" >>samlet.txt
>
> Selve disse linier virker efter hensigten
>
> Jeg har det problem, at filen indeholder anførselstegn (") i de ønskede linier kombineret med, at jeg ønsker de tre linier samlet på en linie i output linien. Nogen råd?
" kan "escapes" med backslash , dette samme
kan i øvrigt gøres med de fleste andre tegn der har speciel
betydning i shell.
Og er der mellemrum i filnavn kan " sættes udenom:
dvs. ved du hvor " er i tekst så medtage det i søgning,
f.eks. : Repair "Operator Name"
cat "$fil" | grep "Repair \"Operator Name\"" ...
I stedet for " kunne du bruge ' udenom, så behøver
du ikke escape " i strengen: 'Repair "Operator Name"'
grep bruger regular expression som er en avanceret måde
at lave specialiserede søgninger (ligesom i awk).
Det du vil er egentlig at kombinere flere tekster i søgning
det kan egrep , du sætter | mellem hvert udtryk :
cat "$fil" | \
egrep 'Repair Operator Name|Panel Name|Total Repair Time' \
>> samlet.txt
--
mvh Frank Damgaard |
References