The UNIX and Linux Forums  
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.

Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Søg en liste over linjer i filen i filer sriram003 UNIX for Advanced & Ekspertsøgning Brugere 2 05-20-2008 07:23 AM
Se alle linjer i grep søgning wereyou UNIX for dummyer Spørgsmål & svar 1 12-13-2007 06:38 PM
Kan jeg søge kolonner og udskriv linjer? Ant1815 UNIX for dummyer Spørgsmål & svar 2 04-26-2007 07:01 AM
Søg fil til mønster og håndteringshåndtag nogle linjer før mønster frustrated1 Shell Programmering og Scripting 2 12-22-2005 03:41 PM
Leder du efter en god måde at Search & Destroy linjer darthur UNIX for dummyer Spørgsmål & svar 5 07-30-2002 12:14 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 04-21-2008
shalua shalua is offline
Registreret Bruger
  
 

Join Date: Apr 2007
Stillinger: 18
søge efter linjer i en fil

Hej

Jeg har brug for at kontrollere, om følgende tre filer findes i en fil, hvordan du gør, at der i shell script:
1. ALLE MACHING RECORD KOLONNER efterfulgt (Baseline og Regression File)
2. Total Forkert Records (Baseline File): 0
3. Total Forkert Records (Regression File): 0

I øjeblikket er jeg seaching kun for en linje "ALL MACHING RECORD KOLONNER efterfulgt (Baseline og Regression File)" og gør det på følgende måde:

Code:
 if [  -s $regfiles_name ]; then
                grep "ALL MACHING RECORD COLUMNS MATCHED (Baseline and Regression File)" $regfiles_name
                retval=$?
                if [ $retval != 0 ]; then
                   echo $regfiles " - There is a mismatch" >> reg_email_body
                else
                   echo $regfiles " - Matched" >> reg_email_body
                fi
fi
Hvordan kan jeg justere det for at kontrollere, om alle 3 linier eksisterer?

Tak!

Sidst redigeret af Yogesh Sawant; 04-22-2008 på 01:24 AM.. Årsag: tilføjet kode tags
  #2 (permalink)  
Old 04-21-2008
shalua shalua is offline
Registreret Bruger
  
 

Join Date: Apr 2007
Stillinger: 18
Vil bare gøre mit spørgsmål mere klart. Jeg ønsker at kontrollere, om alle 3 linier eksisterer eller ikke, hvilket betyder en og tilstand.

Tak!
  #3 (permalink)  
Old 04-21-2008
varungupta varungupta is offline
Registreret Bruger
  
 

Join Date: Feb 2007
Beliggenhed: Pune, Dehradun (Indien), Michigan (US)
Stillinger: 206
Citat:
Oprindeligt Indsendt af shalua View Post
Vil bare gøre mit spørgsmål mere klart. Jeg ønsker at kontrollere, om alle 3 linier eksisterer eller ikke, hvilket betyder en og tilstand.

Tak!
Løsning:
Check med grep-e "searchText1"-e "SearchText2" <filnavn>

Dette gør flere søgning muligt.

Med og caluse kan du bruge sed mulighed for at søge.
Som:
sed '/ mønster / aktion «filnavn

for flere searchs bruge ..
sed -e 'pattern1 / p'-e '/ pattern2 / p'-e '/ pattern3 / p' FILE

Håber, at dette vil arbejde for dig!
Tak.
  #4 (permalink)  
Old 04-21-2008
rubin's Avatar
Rubin rubin is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Nov 2007
Stillinger: 321
Citat:
Oprindeligt Indsendt af shalua View Post
Vil bare gøre mit spørgsmål mere klart. Jeg ønsker at kontrollere, om alle 3 linier eksisterer eller ikke, hvilket betyder en og tilstand.

Tak!
Giv det en prøve:

Code:
#!/bin/sh
#set -x

filename="your_file"

lineA="ALL MATCHING RECORD COLUMNS MATCHED (Baseline and Regression File)"
lineB="Total Mismatched Records (Baseline File): 0"
lineC="Total Mismatched Records (Regression File): 0"


if grep "$lineA" "$filename" && grep "$lineB" "$filename" && grep "$lineC" "$filename"
then
echo "Match"  >> reg_email_body
else
echo  "There is a mismatch"  >> reg_email_body
fi
  #5 (permalink)  
Old 04-22-2008
shalua shalua is offline
Registreret Bruger
  
 

Join Date: Apr 2007
Stillinger: 18
hverken arbejdede!!

I begge tilfælde hænger, ligner nogle syntaks spørgsmål. yderligere forslag!
  #6 (permalink)  
Old 04-22-2008
shalua shalua is offline
Registreret Bruger
  
 

Join Date: Apr 2007
Stillinger: 18
også mit script er et ksh script.
  #7 (permalink)  
Old 04-22-2008
shalua shalua is offline
Registreret Bruger
  
 

Join Date: Apr 2007
Stillinger: 18
sed -n-e '/ BBB / p'-e '/ AAA / p' emp.dat | sed -n '$ \u003d'

virker for mig på kommandolinjen og giver mig tælle linjer matcher en af disse to mønstre. Men når jeg sætte det i shell script, den returnerer fejl.
Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 02:02 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0