![]() |
|
|
google unix.com
|
|||||||
| Fórumok | Regisztráció | Fórum Szabályok | Linkek | Albumok | GYIK | Tagok listája | Naptár | Keres | Mai hozzászólások | Megjelöl Fórumok Olvas |
| Shell programozás és Scripting Post kérdések KSH, CSH, SH, Bash, Perl, PHP, SED, AWK ÉS EGYÉB shell szkriptek és shell script nyelvek itt. |
Több, UNIX és Linux fórum témák Ön által talált Hasznos
|
||||
| Szál | Thread Starter | Fórum | Válaszok | Utolsó hozzászólás |
| Táblázatok a lekérdezést, hogy a felhasználók az adatbázis shell script | Pinnacle | Shell programozás és Scripting | 0 | 04-10-2009 06:18 PM |
| meg, hogy sikeres lekérdezés frissítése, vagy nem használ KSH Script | ali560045 | Shell programozás és Scripting | 3 | 01-07-2009 01:41 AM |
| megtalálják-mtime query | Rajat | A UNIX a dummies Kérdések és válaszok | 1 | 07-09-2008 08:12 AM |
| query about megtalálni és-exec | shriashishpatil | A UNIX a fejlett és szakértői Felhasználók | 2 | 04-12-2007 02:16 AM |
| megtalálják-perm query | napolayan | A UNIX a dummies Kérdések és válaszok | 1 | 11-28-2006 02:28 PM |
![]() |
|
|
LinkBack | Téma eszközök | Keresés a téma | Rate Thread | Megjelenítési módok |
|
|
|
||||
|
keresést és cserét query
Hello ppl, Írok egy forgatókönyvet, amely megállapítja, több szó egyezik és a helyébe új szavakat. Van server.conf fájl külleme Kód:
### 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 ## -------------------------------------------------- --------- Írtam a kódot, hogy az alább látható Kód:
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
De amikor én szkript fut csak helyettesíti az első mérkőzés (Server \u003d 0.0.0.0). A fennmaradó két mérkőzés doesnt változás. Nem tudom, mi baj van az én-kódot. Tud akárki segítsen nekem ezzel? Köszi előre Last edited by lightdensity; 05/26/2009 at 01:14 PM.. |
|
||||
|
Idézet:
Kód:
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
Szóval, hogyan lehet tudni, melyik a jobb string? köszönöm |
|
||||
|
Idézet:
igen, mi az, ha meg IFS \u003d "\ n \ t" mint azt hiszem, macska $ FILE majd soronként .. OK! I will try it out .. Addig is akkor nézd meg a többi kód .. és mondja el, hogy én kód helyes, vagy sem. köszönöm ![]() |
|
||||
|
Idézet:
De beládáz kell hogy .. Azt javaslom használata közben hurok helyett egy a hurok a macska parancsot. Kód:
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 |
|
||||
|
Idézet:
Saját megoldás szerkezet finom ... de néző új probléma most ... Igazából én nem említett én teljes bemeneti fájl, amely Kód:
### 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 ## Tehát amit én végrehajtotta kinézni Kód:
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
Kimeneti fájl külleme Kód:
Server=0.0.0.0 ServerPort=1 Enable Server=0 Szóval, mikor én execute kódot, a kimeneti fájl csak a szálakat, amelyek már megváltozott, vannak olyan karakterláncok, amelyek akarok másolni, mint azt. Sajnálom zavarja Önt sok ... köszönöm
|
![]() |
| Könyvjelzõk |
| Téma eszközök | Keresés a téma |
| Megjelenítési módok | Rate this thread |
|
|