![]() |
|
|
google unix.com
|
|||||||
| Foros | Registro | Reglas de los Foros | Enlaces | Álbumes | Preguntas más frecuentes | Lista de miembros | Calendario | Búsqueda | Puestos de hoy | Marcar Foros Como Leídos |
| UNIX for Dummies Preguntas y Respuestas Si no está seguro de que para publicar un UNIX o Linux cuestión, puesto que aquí. Todos los novatos en Linux, UNIX y bienvenida! |
Más UNIX y Linux Foro Temas usted puede encontrar útiles
|
||||
| Hilo | Hilo para principiantes | Foro | Respuestas | Último mensaje |
| mediante bucle foreach | sam4now | Programación de scripts de shell y | 6 | 04-26-2008 12:22 PM |
| Bucle foreach | haze21 | Programación de scripts de shell y | 4 | 11-16-2007 03:11 AM |
| foreach carpeta | eltinator | Programación de scripts de shell y | 7 | 08-13-2007 03:37 AM |
| foreach / grep ayuda! | JimWork | Programación de scripts de shell y | 6 | 07-27-2007 05:25 PM |
| foreach mando? | GeoQuest | UNIX for Dummies Preguntas y Respuestas | 5 | 05-20-2002 06:11 PM |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
foreach declaración en ksh
Hola,
Mi script debe correr a través de todos los subdirectorios recursivamente en SUBDIR_LIST, ejecute un comando en cada ClearCase subdir, imprimir a la merge_results1.txt y añadir una nueva línea con los resultados antes de ir a la siguiente subdir. Todos los resultados deben anexar a merge_results1.txt, pero están separados por una línea por lo que es más fácil de leer. ¿Puede alguien me ayude con la declaración foreach? #! / usr / bin / ksh / usr / atrios / bin / cleartool startview a442592_merge_diff_2.0to2.5 cd / view/a442592_merge_diff_2.0to2.5/vobs_jil SUBDIR_LIST \u003d `ls-d * FMR /` # para todos los subdirectorios ejecutar un comando de impresión de combinación y añadir una nueva línea a # merge_results1.txt por cada $ SUBDIR_LIST () / usr / atrios / bin / cleartool findmerge. -fver .../strutsplus-2.0_bos/LATEST impresión> / home/a442592/merge_results1.txt # bucle termina aquí cat / home/a442592/merge_results1.txt | sed 's / Necesidades fusión / / g' | sed 's / "/ / g' | cut-d [-f1> / home/a442592/merge_results2.txt cat ~ / merge_results2.txt | mailx-r <forma e-mail>-s' Sync fusión entre 2,0 y 2,5 '<to e-mail> Gracias |
|
||||
|
La sintaxis de un bucle for es: Código:
for file in `ls -d fmr*/`; do # # do your stuff here with "$file" # done Recuerdos |
|
||||
|
Hola.
Eso funcionó - gracias. Mi problema ahora es que cada vez que pasa por el bucle se añade una línea, que está bien si no hay salida. Mi problema es que estoy recibiendo de 3 a 4 líneas en blanco, así que ahora es necesario poner if decir si una línea en blanco ya no añadir otro. ¿Sabe cómo hacerlo? CÓDIGO: SUBDIR_LIST \u003d `ls-d *` FMR de DIR en `ls-d * FMR»; hacer / usr / atrios / bin / cleartool findmerge $ DIR-fver .../strutsplus-2.0_bos/LATEST-print>> / home/a442592/merge_results1.txt echo>> / home/a442592/merge_results1.txt "\ n" hecho cat / home/a442592/merge_results1.txt | sed 's / Necesidades fusión / / g' | sed 's / "/ / g' | cut-d [-f1> / home/a442592/merge_results2.txt Gracias Angela |
|
||||
|
¿Qué significa este comando? Código:
echo >> /home/a442592/merge_results1.txt "\n" ¿Tiene usted la salida deseada si se quita este comando? Si no, después el contenido de merge_results1.txt y la salida deseada. Recuerdos |
|
||||
|
Los bucles añadiendo mantiene en el mismo archivo por lo que el comando echo añade una línea entre cada ciclo. i quitarlo si me sale ninguna línea seperators.
Esto es lo que estoy haciendo ahora (con 'eco ...'): ___________________________________________ fmr-aspects/docs/pub/AspectJ-Policy-Enforcement-User-Guide.doc fmr-aspects/jil-usage-policies-test/src/com/fmr/commons/aspectj/policy/FMRCommonsSSMCTest.java fmr-aspects/jil-usage-policies-test/src/com/fmr/commons/aspectj/policy/TestAll.java fmr-commons-admin/docs/pub/fmr-admin.doc fmr-commons-admin/src/java/com/fmr/commons/admin/services/jca/JcaFactorySpec.java fmr-commons-catalog/docs/pub fmr-commons-cs203/build.properties fmr-commons-cs203/old_build.xml fmr-commons-cs203/src/main/java/com/fmr/commons/cs203/utils/CS203Constants.java fmr-commons-cs203/src/test/java/com/fmr/commons/cs203/validator/CoreValidatorTest.java fmr-commons-hacp/docs/TSD-FMR-COMMONS-HACP.doc fmr-commons-hacp/scripts/hacp-build.xml fmr-commons-hacp/src/test/config/log4j.xml __________________________________________ Los espacios entre sólo debe ser una línea, pero mi código añade una línea que independientemente de cualquier salida del bucle. Por lo tanto, quiero decir que si una línea en blanco ya no añadir otro. Lo que debe ser similar es la siguiente: ___________________________ fmr-aspects/docs/pub/AspectJ-Policy-Enforcement-User-Guide.doc fmr-aspects/jil-usage-policies-test/src/com/fmr/commons/aspectj/policy/FMRCommonsSSMCTest.java fmr-aspects/jil-usage-policies-test/src/com/fmr/commons/aspectj/policy/TestAll.java fmr-commons-admin/docs/pub/fmr-admin.doc fmr-commons-admin/src/java/com/fmr/commons/admin/services/jca/JcaFactorySpec.java fmr-commons-catalog/docs/pub fmr-commons-cs203/build.properties fmr-commons-cs203/old_build.xml fmr-commons-cs203/src/main/java/com/fmr/commons/cs203/utils/CS203Constants.java fmr-commons-cs203/src/test/java/com/fmr/commons/cs203/validator/CoreValidatorTest.java fmr-commons-hacp/docs/TSD-FMR-COMMONS-HACP.doc fmr-commons-hacp/scripts/hacp-build.xml fmr-commons-hacp/src/test/config/log4j.xml __________________________ Gracias Angela |
|
||||
|
Es difícil si no se sabe cuando su comando produce una línea vacía. Puede borrar todos los emptylines de su salida con: Código:
sed '/^$/d' file > newfile Recuerdos |
|
||||
|
Hola,
Eso no es realmente lo que necesito Porque todavía hay 1 línea en blanco. Encontré esto - que elimina duplicado, en líneas consecutivas awk 'uno! ~ $ 0; $ a \u003d (0) " se sabe cómo cambiar para eliminar sólo 1 de las dos líneas? gracias |
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|