![]() |
Ciao e benvenuto da parte degli Stati Uniti al UNIX e Linux Forum! Grazie per la visita ed unirsi alla nostra Comunità Globale.
|
|
google unix.com
|
|||||||
| Forum | Registrati | Regole Forum | Collegamenti | Album | FAQ | Members List | Calendario | Ricerca | Today's Posts | Mark Forums Read |
| Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui. |
Più di UNIX e Linux Forum Argomenti potreste trovare utili
|
||||
| Filo | Thread Starter | Forum | Risposte | Ultimo Post |
| Strano comportamento di script in crontab | PilotGoose | Shell scripting e di programmazione | 1 | 06-26-2008 10:54 AM |
| Aiuto con il mio script di strano! | kdyzsa | Shell scripting e di programmazione | 1 | 06-15-2008 11:39 PM |
| Strano comportamento di sudo | geomonap | UNIX e avanzata per utenti esperti | 1 | 02-03-2006 05:08 PM |
| alcuna spiegazione per questo comportamento script di shell | xiamin | Shell scripting e di programmazione | 9 | 11-09-2001 01:13 PM |
| Weird script | Duckman | UNIX for Dummies Domande & Risposte | 2 | 03-14-2001 01:53 PM |
![]() |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
|
|
||||
|
Strano comportamento di script di sed
Ho scritto un piccolo script per sostituire alcune parole in tutti i file in una directory.
Codice:
#!/bin/sh #Get list of files to be edited file_list=`ls -p` for i in $file_list do echo "Processing $i" alteredi=`echo "$i" | sed -e 's/\//d/'` if [ $i = $alteredi ] then if [ $i != "maketest" ] then #actual altering cat $i | sed -e "s/login\//login.tst\//" > $i cat $i | sed -e "s/cyberkd\//cyberkd.tst\//" > $i cat $i | sed -e "s/\/db_connect.inc.php/\/testdb_connect.inc.php/" > $i echo " $i has been altered" else echo " Not altering myself" fi else echo " Not altering directories" fi done Quando ho gatto un grande file di testo l'intero file viene stampato sul mio schermo. Grazie in anticipo. |
|
||||
|
Non leggere e scrivere nello stesso file e utilizzando con cat sed è ridondante, sostituire queste righe:
Codice:
cat $i | sed -e "s/login\//login.tst\//" > $i cat $i | sed -e "s/cyberkd\//cyberkd.tst\//" > $i cat $i | sed -e "s/\/db_connect.inc.php/\/testdb_connect.inc.php/" > $i Codice:
sed -e "s/login\//login.tst\//" -e "s/cyberkd\//cyberkd.tst\//" -e "s/\/db_connect.inc.php/\/testdb_connect.inc.php/" "$1" > temp.file mv temp.file "$1" Codice:
sed -i -e "s/login\//login.tst\//" -e "s/cyberkd\//cyberkd.tst\//" -e "s/\/db_connect.inc.php/\/testdb_connect.inc.php/" "$1" Ultimo a cura di Franklin52; al 08/30/2008 08:52 AM.. |
![]() |
| Segnalibri |
| Tag |
| gatto, sed, shell |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|