![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| Sök och ersätt | NycUnxer | UNIX for Dummies Frågor & Svar | 4 | 03-06-2008 12:20 |
| hitta ersätta | dbsurf | Shell-programmering och Skript | 2 | 01-25-2008 08:39 |
| Sök och ersätt | mahabunta | UNIX for Dummies Frågor & Svar | 7 | 09-21-2006 01:05 |
| Sök och ersätt | vikas_j @ hotmail | UNIX for Dummies Frågor & Svar | 3 | 02-25-2002 05:41 |
| Sök och ersätt | gagansharma | Shell-programmering och Skript | 3 | 11-27-2001 04:17 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
Sök och ersätt problem
Hej grabbar! Jag skriver ett manus som jag tar en input från användare och hittar den i en fil och ersätta den. Min indatafil ser ut Kod:
hi what your name? allrise Min kod ser ut är Kod:
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 jag kör mitt script, frågar man mig om namn antar jag gav "John" ... men produktionen kommer enligt nedan Kod:
hi what your name? hello $name så, kan någon förklara hur jag kan få korrekt resultat som bör vara. Kod:
hi what your name? hello john |