![]() |
Hola y bienvenida de los Estados Unidos a la UNIX y Linux Foros! Gracias por su visita y formar parte de nuestra comunidad global.
|
|
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 |
| la combinación de dos campos en los campos de texto | Shocker | Programación de scripts de shell y | 3 | 01-16-2008 11:27 AM |
| corte: obtener uno o dos campos | maxvirrozeito | Programación de scripts de shell y | 3 | 12-17-2007 11:58 AM |
| Últimos 3 corte Campos | bourne | Programación de scripts de shell y | 4 | 01-11-2007 05:17 AM |
| Última campos | Khoomfire | UNIX para usuarios avanzados y expertos | 3 | 04-13-2006 06:03 PM |
| cómo cortar los campos | rajan_ka1 | Programación de scripts de shell y | 1 | 12-29-2005 05:55 AM |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
Especificación y la sustitución de los campos con awk
# cat BATCH007.TXT
01,661060052,061000104,081118,0915,07,80,1,2 / 99,,, 2 / Tengo este archivo llamado BATCH007.TXT. Estoy tratando de cambiar los campos 2 y 3 en la línea 2 para tener ceros. De este modo: 01,661060052,061000104,081118,0915,07,80,1,2 / 99,0,0,2 / Puedo usar estos comandos para identificar los campos de impresión, que devolverá un valor vacío, ya que debe: BATCH007.TXT cabeza -2 | tail-1l | awk '(FS \u003d","} (print $ 2)' BATCH007.TXT cabeza -2 | tail-1l | awk '(FS \u003d","} (print $ 3)' Creo que estoy cerca. He añadido un gusb al comando anterior, pero la salida es incorrecta: BATCH007.TXT cabeza -2 | tail-1l | awk-F "," '(gsub ($ 2, "0");) imprimir' BATCH007.TXT> D.new $ cat D.new 01,661060052,0,081118,0915,07,80,1,2 / 09090,0,0,020 / 0 ¿Alguien tiene alguna sugerencia? |
|
||||
|
Parece que la tarea que me
|
|
||||
|
Hola,
No sé exactamente lo que estamos intentando hacer, pero si sólo desea cambiar la línea 2 de su archivo, esto debería ser suficiente: Código:
sed "/^99/s/,,,/,0,0,/g" file Chris HTH |
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|