![]() |
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier. |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| Tabellen, Abfragen, um Benutzer für die Datenbank aus der Shell-Skript | Pinnacle | Shell Programmierung und Scripting | 0 | 04-10-2009 06:18 PM |
| zu finden, ob Aktualisierungsabfrage erfolgreich ist oder nicht mit Ksh Script | ali560045 | Shell Programmierung und Scripting | 3 | 01-07-2009 01:41 AM |
| find-mtime-Abfrage | Rajat | UNIX for Dummies Questions & Answers | 1 | 07-09-2008 08:12 AM |
| Fragen zu finden und zu-exec | shriashishpatil | UNIX für Fortgeschrittene und Experten | 2 | 04-12-2007 02:16 AM |
| find-perm-Abfrage | napolayan | UNIX for Dummies Questions & Answers | 1 | 11-28-2006 02:28 PM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
Suchen und Ersetzen-Abfrage
Hallo ppl,
Ich schreibe ein Skript, das feststellt, mehrere Wörter mit und ersetzen sie durch neue Wörter. Ich habe server.conf-Datei, die aussieht wie 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 ## Ich habe für sie, wie unten gezeigt 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
Ich weiß nicht, was falsch mit meinem Code. Kann jemand mir helfen, zu dieser Frage? Vielen Dank im Voraus Zuletzt bearbeitet von lightdensity; am 05-26-2009 01:14 PM.. |
|
||||
|
Zitat:
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
Danke |
|
||||
|
Zitat:
so was ist, wenn ich IFS \u003d "\ n \ t" als ich denke, cat $ FILE wird Zeile für Zeile .. ok! Ich werde probieren Sie es aus .. Inzwischen können Sie meine restlichen Code .. und sagen, ob mein Code richtig ist oder nicht. Danke ![]() |
|
||||
|
Zitat:
Aber Sie müssen den Fall zu tun .. Ich schlage vor, Sie while-Schleife, statt einer for-Schleife mit dem Befehl cat. 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
|
|
||||
|
Zitat:
Ihre Lösung funktioniert gut ... aber ich bin mit neuen Problem jetzt ... Eigentlich habe ich nicht meine komplette Eingabedatei die 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 ## 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
Code:
Server=0.0.0.0 ServerPort=1 Enable Server=0 Leider bin ich viel stört Sie ... Danke ![]() |
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|