![]() |
|
|
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 |
| Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí. |
Más UNIX y Linux Foro Temas usted puede encontrar útiles
|
||||
| Hilo | Hilo para principiantes | Foro | Respuestas | Último mensaje |
| espacio con la sustitución de la cañería (delimitador) | OSD | UNIX for Dummies Preguntas y Respuestas | 6 | 02-16-2009 04:38 AM |
| mejor manera de eliminar los saltos de línea | csmklee | Programación de scripts de shell y | 3 | 01-13-2009 02:42 AM |
| Sustitución de las URL de un archivo con el espacio | dsrookie | UNIX for Dummies Preguntas y Respuestas | 5 | 02-29-2008 04:58 AM |
| Novato? Necesita ayuda con Si / Entonces y saltos de línea ... | kthatch | UNIX for Dummies Preguntas y Respuestas | 1 | 05-01-2007 08:44 PM |
| La eliminación de los saltos de línea de un intérprete de comandos | lyonsd | Programación de scripts de shell y | 5 | 09-12-2006 02:42 PM |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
Estoy analizar a través de un gran lslpp-Lc archivo de salida con un bucle for. El archivo contiene muchas líneas similares a esta: zip: zip-2.3-3: 2.3::: C: R: Un archivo de compresión y embalaje de utilidad compatible con PKZIP.:: / bin / rpm-e zip::::: 0: No parece haber especializadas o secreto de marcas en el archivo. Sin embargo, al intentar leer el archivo en un bucle mientras que en un script de shell, se rompe cada espacio como un salto de línea, y cada salto de línea como una doble ruptura. A continuación se muestra el código: Código:
#!/usr/bin/ksh for i in `cat -n servername.lpp` do echo "$i" done Lo extraño es que el gato no parece darse cuenta de que las líneas se dividen, según lo indicado por la salida a continuación. También trató la lectura en el archivo con un segundo perl script (en `iperl perlscript.pl) y tiene exactamente el mismo problema. Salida de entrar en el Salida de archivo de secuencia de comandos: Código:
1 #Package Name:Fileset:Level:State:PTF Id:Fix State:Type:Description:Destination Dir.:Uninstaller:Message Catalog:Message Set:Message Number:Parent:Automatic:EFIX Locked:Install Path:Build Date 2 Java14.sdk:Java14.sdk:1.4.2.175: : :C:F:Java SDK 32-bit: : : : : : :0:0:/: También he intentado con este shell bash especificado. No estoy seguro de cómo resolver esto. Cualquier ayuda sería apreciada. Última edición por mshulman1980; al 04-21-2009 02:38 PM.. Motivo: Sustituido Cotizaciones etiqueta con código de etiqueta para evitar la inserción automática de caritas |
|
||||
|
por favor proporcionar una muestra de entrada y de espera del archivo de salida
¡salud!, Devaraj Takhellambam |
|
||||
|
Ejemplo de entrada:
[CODE] readline: readline-4.3-2: 4.3::: C: R: Una biblioteca para leer y devolver las líneas de una terminal.:: / bin / rpm-e readline::::: 0: sudo: sudo-1.6.7p5-3: 1.6.7p5::: C: R: Restringido Permite acceso de root para determinados usuarios.:: / bin / sudo rpm-e::::: 0: descomprimir: descomprime-5.51-1: 5,51::: C: R: Una utilidad para descomprimir archivos zip.:: / bin / rpm-e descomprimir::::: 0: wget: wget-1.9.1-1: 1.9.1::: C: R: Una utilidad para recuperar archivos con los protocolos HTTP o FTP.:: / bin / rpm-e wget::::: 0: zip: zip-2.3-3: 2.3::: C: R: Un archivo de compresión y embalaje de utilidad compatible con PKZIP.:: / bin / rpm-e zip::::: 0: [/ Code] la salida debe ser idénticos. Una vez que estoy en condiciones de carga de cada línea en la memoria, voy a analizar a través de las líneas. |
|
||||
|
Yo uso un bucle while ... por ejemplo:
IFS \u003d ":" mientras que leer línea; hacer echo $ linea hecho <servername.lpp |
|
||||
|
giannicello: gracias!
Me adjunta el script para añadir los dos puntos para su posterior regreso en analizar. #! / bin / bash IFS \u003d ":" mientras que leer línea; hacer echo $ linea hecho <servername.lpp | tr '' ':' |
|
||||
|
intente utilizar un bucle while lugar ... el problema parece ser debido a el comando echo
mientras que leer línea hacer echo $ linea hecho < "nombre de archivo" si desea que el número de línea también: i \u003d 1, mientras que continúa la línea; do echo "$ i $ linea"; i \u003d `expr $ i + 1»; hecho < "nombre de archivo" ¡salud!, Devaraj Takhellambam |
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|