![]() |
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier. |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| Tabellen zoekopdracht te vinden gebruikers voor database van shell script | Pinnacle | Programmeren en Shell Scripting | 0 | 04-10-2009 06:18 PM |
| te vinden of de update query succesvol is of niet met behulp van ksh Script | ali560045 | Programmeren en Shell Scripting | 3 | 01-07-2009 01:41 |
| Find-mtime zoekopdracht | Rajat | UNIX voor Dummies Questions & Answers | 1 | 07-09-2008 08:12 |
| vraag over het vinden en-exec | shriashishpatil | UNIX for Advanced & Expert Gebruikers | 2 | 04-12-2007 02:16 |
| Find-perm zoekopdracht | napolayan | UNIX voor Dummies Questions & Answers | 1 | 11-28-2006 02:28 PM |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
zoeken en vervangen zoekopdracht
Hallo ppl, Ik ben het schrijven van een script dat meerdere woorden vindt match en het vervangen met nieuwe woorden. Ik heb server.conf bestand dat er uit ziet Code:
### Welcome to server ### ### Server address and port ### Server=127.0.0.1 ### Replace Server=0.0.0.0 ### ServerPort=0 ### Replace ServerPort=1 #### ### Enable Server ## Enable Server=1 ### Replace Enable Server=0 ### ### END OF FILE ## -------------------------------------------------- --------- Ik heb geschreven code voor, zoals hieronder weergegeven Code:
FILE="/opt/server.conf"
NEW_FILE="/opt/new_server.conf"
IFS=""
for line in `cat ${FILE}`; do
#echo ${line}
if [ -n "`echo ${line} | grep 'Server=127.0.0.1'`" ]
then
echo ${line} | sed 's|Server=127.0.0.1|Server=0.0.0.0|g' >>$NEW_FILE
elif [ -n "`echo ${line} | grep 'ServerPort=0'`" ]
then
echo ${line} | sed 's|ServerPort=0|ServerPort=1|g' >>$NEW_FILE
elif [ -n "`echo ${line} | grep 'Enable Server=1'`" ]
then
echo ${line} | sed 's|Enable Server=1|Enable Server=0|g' >>$NEW_FILE
else
echo ${line} >>$NEW_FILE
fi
done
Maar toen ik mijn script dat alleen in de plaats van de eerste wedstrijd (Server \u003d 0.0.0.0). Resterende twee wedstrijden doesnt veranderen. Ik weet niet wat er mis met mijn code. Kan iemand me helpen op deze? Thanks in advance Laatst gewijzigd door lightdensity; op 05.26.2009 01:14 PM.. |
|
||||
|
Citaat:
Code:
FILE="/opt/server.conf"
NEW_FILE="/opt/new_server.conf"
IFS=""
for line in `cat ${FILE}`; do
#echo ${line}
if [ -n "`echo ${line} | grep 'Server=127.0.0.1'`" ] #grep command searches for right string
then
echo ${line} | sed 's|Server=127.0.0.1|Server=0.0.0.0|g' >>$NEW_FILE
elif [ -n "`echo ${line} | grep 'ServerPort=0'`" ]
then
echo ${line} | sed 's|ServerPort=0|ServerPort=1|g' >>$NEW_FILE
elif [ -n "`echo ${line} | grep 'Enable Server=1'`" ]
then
echo ${line} | sed 's|Enable Server=1|Enable Server=0|g' >>$NEW_FILE
else
echo ${line} >>$NEW_FILE
fi
done
Dus, hoe om te achterhalen welke voor de juiste snaar? bedankt |
|
||||
|
Citaat:
maar wat als ik IFS \u003d "\ n \ t" dan denk ik, cat $ FILE zal lijn per lijn .. ok! Ik zal proberen het uit .. Ondertussen kan u mijn resterende code .. en zeg al mijn code juist is of niet. bedankt ![]() |
|
||||
|
Citaat:
Incase Maar je hoeft te doen .. Ik stel voor dat u gebruikt, terwijl lus, in plaats van een lus met de kat commando. Code:
FILE="/opt/server.conf"
NEW_FILE="/opt/new_server.conf"
while read line
do
#echo ${line}
if [ -n "`echo ${line} | grep 'Server=127.0.0.1'`" ] #grep command searches for right string
then
echo ${line} | sed 's|Server=127.0.0.1|Server=0.0.0.0|g' >>$NEW_FILE
elif [ -n "`echo ${line} | grep 'ServerPort=0'`" ]
then
echo ${line} | sed 's|ServerPort=0|ServerPort=1|g' >>$NEW_FILE
elif [ -n "`echo ${line} | grep 'Enable Server=1'`" ]
then
echo ${line} | sed 's|Enable Server=1|Enable Server=0|g' >>$NEW_FILE
else
echo ${line} >>$NEW_FILE
fi
done < $FILE
-Devaraj Takhellambam |
|
||||
|
Citaat:
Uw oplossing werkt prima ... maar ik ben geconfronteerd met nieuwe problemen nu ... Eigenlijk heb ik niet gesproken over mijn volledige input bestand dat is Code:
### Welcome to server ### ### Server address and port ### Server=127.0.0.1 ### Replace Server=0.0.0.0 ### ServerPort=0 ### Replace ServerPort=1 #### ### Enable Server ## Enable Server=1 ### Replace Enable Server=0 ### Enable Agent=1 Enable ip=1 ### Now I dont need to change above two options ### ### END OF FILE ## Dus wat heb ik uitgevoerd eruit Code:
FILE="/opt/server.conf"
NEW_FILE="/opt/new_server.conf"
exec 0<$FILE
while read line
do
#echo ${line}
if [ -n "`echo ${line} | grep 'Server=127.0.0.1'`" ] #grep command searches for right string
then
echo ${line} | sed 's|Server=127.0.0.1|Server=0.0.0.0|g' >>$NEW_FILE
elif [ -n "`echo ${line} | grep 'ServerPort=0'`" ]
then
echo ${line} | sed 's|ServerPort=0|ServerPort=1|g' >>$NEW_FILE
elif [ -n "`echo ${line} | grep 'Enable Server=1'`" ]
then
echo ${line} | sed 's|Enable Server=1|Enable Server=0|g' >>$NEW_FILE
else
echo ${line} >>$NEW_FILE
fi
done < $FILE
Output-bestand ziet er als Code:
Server=0.0.0.0 ServerPort=1 Enable Server=0 Dus toen ik voer mijn code, output-bestand bevat alleen de snaren die ik heb veranderd, zijn er bepaalde tekenreeksen die i wilt kopiëren als zij. Sorry i am dwars u veel ... bedankt
|
![]() |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|