![]() |
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í. |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
Necesita ayuda en awk
Hola Frnds,
Tengo un archivo de texto confdate.txt con el siguiente formato. From_Date 12-02-2007 To_Date 12-03-2007 Ahora tengo dos variables new_todate decir, new_fromdate en mi script de shell que contiene dos nuevas fechas, y quiero actualizar las fechas en el archivo correspondiente a la columna usando awk. ¿Puedes por favor darme algunas aportaciones al respecto? Gracias de antemano. - Raja. |
|
||||
|
Puede probar de este modo:
Código:
sed -e 's/From_Date\(.*\)/From_Date '$new_fromdat'/' -e 's/To_Date\(.*\)/To_Date '$new_todat'/' filename |
|
||||
|
Uso de awk: x $ y $ y son los nuevos valores que se
Código:
awk -v new_from_dat=$x -v new_to_dat=$y '{if( $1 ~ /From_Date/) print $1" "new_from_dat; if ( $1 ~ /To_Date/) print $1" "new_to_dat; }' file_name
|
|
||||
|
¿Podría explicarme usted encuentra tanto en el momento de tiempo?
hey su trabajo ya no. $ Dt \u003d-u `date +% d-% m-% Y» $ $ Echo $ dt 29-01-08 $ $ Cat tst.txt Fecha 12-01-08 $ $ Awk-v dat \u003d $ dt-v '(if ($ 1 ~ / Fecha /) print $ 1 "" dat;)' tst.txt Uso: awk [fs-F] [-v Asignación] [-f Progfile | Programa] [Cesión | archivo] ... $ $ sed -e 's / Fecha \ (.* \) / Fecha de' $ dt '/' tst.txt Fecha 29-01-08 $ Cat tst.txt Fecha 12-01-08 $ lo que está mal con mi mando? Última edición por smr_rashmy; al 01-29-2008 01:11 AM.. |
|
||||
|
Cita:
¿Por qué usted ha usado-v allí? También, si desea que estos cambios por escrito en un archivo, usted tiene que usar "> new_filename" al final ... es decir, sed -e 's / Fecha \ (.* \) / Fecha de' $ dt '/' tst.txt> temp_new_file |
|
||||
|
todavía no se actualiza frnd,
$ Dt \u003d-u `date +% d-% m-% Y» $ $ Echo $ dt 29-01-08 $ $ Cat tst.txt Fecha 12-01-08 $ $ Awk-v dat \u003d $ dt '(if ($ 1 ~ / Fecha /) print $ 1 "" dat;)' tst.txt Fecha 29-01-08 $ $ $ gato tst.txt Fecha 12-01-08 $ |
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|