Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
Google Site



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Thread Tools Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 09-19-2008
Registrert bruker
 

Bli Dato: Sep 2008
Innlegg: 6
Question Hvordan søke ordet og få linjen over den.

Hei alle,

Kan noen hjelpe meg ...

Jeg ønsker å søke på ord og ønsker linjen over den.

f.eks. mytxt.log

Mitt navn er Jeevan.
240 er adressen min.

Mitt navn er Jhon.
390 er adressen min.
--------
Jeg vil søke "240" og vil sendes ut som

Mitt navn er Jeevan.
240 er adressen min.

Meance jeg ønsker både linje.

Vær foreslå noen løsning.
Sponsede lenker
  #2 (permalink)  
Old 09-19-2008
zaxxon's Avatar
zaxxon zaxxon is offline Forum Staff  
Moderator
 

Bli Dato: Sep 2007
Sted: Tyskland
Innlegg: 2668

Code:
grep -B1 240 infile

  #3 (permalink)  
Old 09-19-2008
Registrert bruker
 

Bli Dato: Sep 2008
Innlegg: 6
Its not working

Jeg har skrevet

grep-b1 PRIS temp.log

også prøvd

grep-B1 "pris" temp.log

Det gir meg følgende feilmelding ...

grep: ulovlige alternativet - 1
Bruk: grep-hblcnsviw mønster fil. . .
  #4 (permalink)  
Old 09-19-2008
æra era is offline Forum Advisor  
Herder av Useless Cats (På Sabbatical)
 

Bli Date: Mar 2008
Sted: / det / er / bare / bin / sh
Innlegg: 3652
Ikke alle grep versjoner har de-B alternativet. Prøv med awk eller sed i stedet.


Code:
sed -n '/240/{x;p;x;p;b;};h' file

Hvis det ikke fungerer for deg enten søke forumet etter "kontekst grep".
  #5 (permalink)  
Old 09-19-2008
Registrert bruker
 

Bli Dato: juni 2007
Sted: Beijing Kina
Innlegg: 1133

Code:
awk '{
if($0 !~/^240/) 
t=$0
if($0 ~/^240/)
{
	print t
	print $0
}
}' filename

  #6 (permalink)  
Old 09-19-2008
æra era is offline Forum Advisor  
Herder av Useless Cats (På Sabbatical)
 

Bli Date: Mar 2008
Sted: / det / er / bare / bin / sh
Innlegg: 3652
Eller kanskje mer idiomatically


Code:
awk '/240/ { print t; print $0; next } { t = $0 }' filename

  #7 (permalink)  
Old 09-20-2008
Registrert bruker
 

Bli Dato: Sep 2008
Innlegg: 6
Wow ...
Sine arbeider.
Tusen takk for dette.
en rask spørsmålet hvordan du lagrer utgang av denne awk i en variabel.
Sponsede lenker
Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er Av


Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
Legge til et ord foran et ord på hver linje. Ramesh Vellanki Shell programmering og Skripting 4 07-02-2008 10:17
søket på hvordan du søker etter en linje og les 4de ord fra den linjen jaggesh UNIX for Dummies Spørsmål og svar 4 07-01-2008 11:21
å få en linje over søkeord sachin.gangadha UNIX for Dummies Spørsmål og svar 16 01-07-2008 07:19
Slik flytter ordet ved ord på kommandolinjen pbsrinivas UNIX for Dummies Spørsmål og svar 1 11-23-2007 06:17
Kan et shell script trekke det første ordet (eller NTH ord) av hver linje i en tekstfil? kinkig Shell programmering og Skripting 5 08-17-2006 07:29



Alle klokkeslett er GMT -4. Nå er klokken 11:21.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2010. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0