![]() |
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 |
| sed consulta | gopsman | Programación de scripts de shell y | 4 | 02-03-2009 02:41 AM |
| Y en la consulta SQL | Lindarella | Programación de scripts de shell y | 3 | 10-09-2006 04:43 PM |
| En consulta awk | raguramtgr | UNIX for Dummies Preguntas y Respuestas | 1 | 08-27-2004 11:00 AM |
| RPM consulta | silvaman | UNIX para usuarios avanzados y expertos | 1 | 08-15-2003 07:56 AM |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
sed consulta
Tengo una serie de carpetas / temp / un / temp / b / temp / c
En las carpetas a, b, yc, tengo archivos a1.txt ... ... .... a20.txt b1.txt ... ... .... b40.txt y c1.txt ... ... .... c60.txt Cada archivo tiene el mismo formato de datos: -- Línea 1 AAAAA aaaa Línea 2 BBB bbbbbb Línea 3 CCCC cccccc Etc etc Tengo que escribir un sed script que irá a través de todos los archivos y reformatear los datos así: -- Línea 1 AAAAA aaaa Línea 2 BBB Línea 3 X bbbbbb Línea 4 CCCC cccccc Etc etc Así que tengo que insertar un CR / LF en la línea 2 la posición 4, crear una nueva línea 3, con una constante de texto (X) y el valor de lo que estaba a la derecha de la anterior línea 2 (bbbbbb) y pasar el resto de líneas de una línea hacia abajo. ¿Alguien puede ayudar por favor? No sé sed muy bien, y no en todos los awk. |
|
||||
|
SED solución
Código:
cd /a
for file in *
do
sed "2 s/\(...\).\(.*\)/\1\\
X \2/" $file > tmp
mv tmp $file
done
|
|
||||
|
sed solución
Gracias Anbu23
Cuando me envió el día de ayer, he simplificado mi problema, pensando que podía seguir su lógica, y aplicarlo a mi problema. De hecho, es la línea 5 posición 32 antes de que el CR / LF se inserta. La nueva línea 6 contendrá texto fija la posición de 1 a 31 inclusive, (X) y la posición 32 a 34 desde la línea 5 se llega a las mismas posiciones en la línea 6. He intentado sed "5 s / \ (... \). \ (.* \) / \ 1 \ \ X \ 2 / "$ archivo> tmp pero eso todavía derramado después de 3 caracteres. He intentado sed "5 s / \ (............................. \). \ (.* \) / \ 1 \ \ X \ 2 / "$ archivo> tmp pero tiene un error de sintaxis. Espero que pueda ayudar más. Gracias |
|
||||
|
Anteriormente usted dijo que después de la primera unos pocos caracteres en la línea tiene que ser movido a la siguiente línea con X. Pero ahora le está diciendo que usted necesita carácter inicial y X y en el resto de características del nuevo line.I no soy capaz de llegar usted.
¿Me puede dar ejemplo? |
|
||||
|
sed ejemplo
Hola Anbu23
de entrada Ref: 12345678 ^ M Fecha de valor: 28-mayo-2006 ^ M Una de débito / c: 54321235 - H ^ abcdef Cliente: 100210547 - abcdef ^ M Débito Monto: US $ 9999999999,00 ^ M Descripción: alambre para Wxxxxxx ^ M ^ M Tipo de cambio: 1,00000 M ^ etc etc debe convertirse en Ref: 12345678 ^ M Fecha de valor: 28-mayo-2006 ^ M Una de débito / c: 54321235 - H ^ abcdef Cliente: 100210547 - abcdef ^ M Débito Monto: 9999999999,00 ^ M xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ^ M USD Descripción: alambre para Wxxxxxx ^ M ^ M Tipo de cambio: 1,00000 M ^ etc etc cortar y pegar ha compensado la pantalla anterior, pero antes de mi partida 5 posición 31 es correcta. Por favor, también tenga en cuenta que hay muchos registros en cada archivo, y todos tienen que ser reordenada. Muchas gracias de nuevo Yo agradezco su apoyo. |
|
||||
|
tratar este
awk '(if (partido ($ 0, "US $")) (print $ 1 $ 2 $ 3, "\ nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", $ 4) print $ 0)' fichero> nuevofichero
Espero USD vendrá solamente en débito Monto: campo. Recuerdos, cskumar |
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|