The UNIX and Linux Forums  


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 og erstat NycUnxer UNIX for dummyer Spørgsmål & svar 4 03-06-2008 12:20 AM
finde erstatte dbsurf Shell Programmering og Scripting 2 01-25-2008 08:39 AM
søge efter og erstatte mahabunta UNIX for dummyer Spørgsmål & svar 7 09-21-2006 01:05 PM
søge efter og erstatte vikas_j @ hotmail UNIX for dummyer Spørgsmål & svar 3 02-25-2002 05:41 PM
Søg & erstat gagansharma Shell Programmering og Scripting 3 11-27-2001 04:17 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 05-27-2009
allrise123 allrise123 is offline
Registreret Bruger
  
 

Join Date: May 2009
Stillinger: 9
finde og erstatte problem

Hi guys!

Jeg skriver et script, hvor jeg tager et input fra brugeren og finde det i en fil og erstatte det.
Min inddatafil udseende

Code:
hi
what your name?
allrise

min kode ser er

Code:
echo "Enter the name"
read name
FILE="/opt/name.txt"
NEW_FILE="/opt/new_name.txt"
exec 0<$FILE
    while read line
    do
     if [ -n "`echo ${line} | grep 'allrise'`" ]
     then
              echo ${line} | sed 's|allrise|hello $name|g' >>$NEW_FILE
     else
             echo $line >>$NEW_FILE
     fi
     done <$FILE

Når jeg kører mit manuskript, det spørger mig om navnet formoder jeg gav "John" ... men produktionen kommer som vist nedenfor

Code:
hi
what your name?
hello $name

så kan nogen forklare, hvordan jeg kan få ordentlig effekt, som bør være.

Code:
hi
what your name?
hello john

  #2 (permalink)  
Old 05-27-2009
cfajohnson's Avatar
cfajohnson cfajohnson is offline Forum Advisor  
Shell programmør, forfatter
  
 

Join Date: Mar 2007
Beliggenhed: Toronto, Canada
Posts: 2.365
Citat:
Oprindeligt Indsendt af allrise123 View Post
Hi guys!

Jeg skriver et script, hvor jeg tager et input fra brugeren og finde det i en fil og erstatte det.
Min inddatafil udseende

Code:
hi
what your name?
allrise

min kode ser er

Code:
echo "Enter the name"
read name
FILE="/opt/name.txt"
NEW_FILE="/opt/new_name.txt"
exec 0<$FILE
    while read line
    do
     if [ -n "`echo ${line} | grep 'allrise'`" ]
     then
              echo ${line} | sed 's|allrise|hello $name|g' >>$NEW_FILE

Variabler er ikke udvidet inde enkelt prisstillelser; bruge dobbelte anførselstegn:


Code:
echo ${line} | sed "s|allrise|hello $name|g" >>$NEW_FILE

Citat:

Code:
     else
             echo $line >>$NEW_FILE
     fi
     done <$FILE

Når jeg kører mit manuskript, det spørger mig om navnet formoder jeg gav "John" ... men produktionen kommer som vist nedenfor

Code:
hi
what your name?
hello $name

så kan nogen forklare, hvordan jeg kan få ordentlig effekt, som bør være.

Code:
hi
what your name?
hello john

Hvem gør du ikke:


Code:
sed "s/allrise/hello $name/" "$FILE" > "$NEWFILE"

Der er ikke behov for en sløjfe.
  #3 (permalink)  
Old 05-27-2009
allrise123 allrise123 is offline
Registreret Bruger
  
 

Join Date: May 2009
Stillinger: 9
tak for svaret ..

Faktisk er det ikke min faktiske fil ... Dette er blot attrap-fil, som jeg oprettede bare at bede min forespørgsel ... anyways jeg vil prøve dit forslag ..
  #4 (permalink)  
Old 06-06-2009
otheus's Avatar
otheus otheus is offline Forum Staff  
Redaktør ala Mode
  
 

Join Date: Feb 2007
Sted: Innsbruck, Østrig
Stillinger: 1889
Duplikat af finde og erstatte forespørgsel

(sock puppet)
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 01:44 AM.


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