* Re: [Comm] Задачка
2005-07-12 7:43 [Comm] Задачка Pavel Shurubura
@ 2005-07-12 7:59 ` Pavel Shurubura
2005-07-12 8:01 ` Dmytro O. Redchuk
2005-07-15 18:46 ` Aleksander Fetininsky
2 siblings, 0 replies; 5+ messages in thread
From: Pavel Shurubura @ 2005-07-12 7:59 UTC (permalink / raw)
To: community
On Tue, 12 Jul 2005 11:43:32 +0400
Pavel Shurubura <pvs@vdnet.ru> wrote:
> Здравствуйте !
>
> командочка date +'%s' 'Thu, 07 Jul 2005 14:12:01 +0400'
> Выдаёт мне то,что надо. Как вставить её вывод обратно в файл ?
Ошибся здесь:
date +'%s' --date='Thu, 07 Jul 2005 14:12:01' +0400
>
> на awk пытался передать параметр функции system таким образом:
> {
> system("date +%s $5");
И здесь соответственно:
system("date +%s --date=$5");
> }
> Но так не получается. Может подскажет кто чего ?
>
> Спасибо.
>
> --
> With kindest regards, pvs.
> _______________________________________________
> Community mailing list
> Community@altlinux.ru
> https://lists.altlinux.ru/mailman/listinfo/community
>
--
With kindest regards, pvs.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Comm] Задачка
2005-07-12 7:43 [Comm] Задачка Pavel Shurubura
2005-07-12 7:59 ` Pavel Shurubura
@ 2005-07-12 8:01 ` Dmytro O. Redchuk
2005-07-12 8:23 ` Pavel Shurubura
2005-07-15 18:46 ` Aleksander Fetininsky
2 siblings, 1 reply; 5+ messages in thread
From: Dmytro O. Redchuk @ 2005-07-12 8:01 UTC (permalink / raw)
To: community
On Tue, Jul 12, 2005 at 11:43:32AM +0400, Pavel Shurubura wrote:
> Здравствуйте !
>
> Есть текстовый файл с разделителями '|' (pipe).
> В поле номер 5 есть дата такого формата:
> Thu, 07 Jul 2005 14:12:01 +0400
> т.е.
>
> 123|Text|234|aaa|Thu, 07 Jul 2005 14:12:01 +0400|dsfas|asdkfj
>
> Как-бы мне её преобразовать в число секунд since epoch ?
>
> командочка date +'%s' 'Thu, 07 Jul 2005 14:12:01 +0400'
> Выдаёт мне то,что надо. Как вставить её вывод обратно в файл ?
>
> на awk пытался передать параметр функции system таким образом:
> {
> system("date +%s $5");
> }
> Но так не получается. Может подскажет кто чего ?
Если awk, то функция mktime. Хоть и горемойно, т.к. ей надо ещё скормить
дату в нужном ей виде.
Но awk'ом это всё можно -- "задача имеет решение" Ж-)
ps. Всё равно нужно как-то манипулировать пятым полем, так как там, как
минимум, "лишняя" запятая.
>
> Спасибо.
>
> --
> With kindest regards, pvs.
--
_,-=._ /|_/|
`-.} `=._,.-=-._., @ @._,
`._ _,-. ) _,.-'
` G.m-"^m`m' Dmytro O. Redchuk
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Comm] Задачка
2005-07-12 8:01 ` Dmytro O. Redchuk
@ 2005-07-12 8:23 ` Pavel Shurubura
0 siblings, 0 replies; 5+ messages in thread
From: Pavel Shurubura @ 2005-07-12 8:23 UTC (permalink / raw)
To: community
On Tue, 12 Jul 2005 11:01:55 +0300
"Dmytro O. Redchuk" <dor@ldc.net> wrote:
>
> Но awk'ом это всё можно -- "задача имеет решение" Ж-)
Я в этом уверен на все 100%. :)
> ps. Всё равно нужно как-то манипулировать пятым полем, так как
> там, как
> минимум, "лишняя" запятая.
>
Да нет, запятая не лишняя. Командочка date --date'дата'
проглатывает это пятое поле на ура. А с ключиком -s даёт
требуемые секунды.
--
With kindest regards, pvs.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Comm] Задачка
2005-07-12 7:43 [Comm] Задачка Pavel Shurubura
2005-07-12 7:59 ` Pavel Shurubura
2005-07-12 8:01 ` Dmytro O. Redchuk
@ 2005-07-15 18:46 ` Aleksander Fetininsky
2 siblings, 0 replies; 5+ messages in thread
From: Aleksander Fetininsky @ 2005-07-15 18:46 UTC (permalink / raw)
To: Community
On Tue, Jul 12, 2005 at 11:43:32 +0400, Pavel Shurubura wrote:
> Здравствуйте !
>
> Есть текстовый файл с разделителями '|' (pipe).
> В поле номер 5 есть дата такого формата:
> Thu, 07 Jul 2005 14:12:01 +0400
> т.е.
>
> 123|Text|234|aaa|Thu, 07 Jul 2005 14:12:01 +0400|dsfas|asdkfj
>
> Как-бы мне её преобразовать в число секунд since epoch ?
>
> командочка date +'%s' 'Thu, 07 Jul 2005 14:12:01 +0400'
> Выдаёт мне то,что надо. Как вставить её вывод обратно в файл ?
>
> на awk пытался передать параметр функции system таким образом:
> {
> system("date +%s $5");
> }
> Но так не получается. Может подскажет кто чего ?
>
> Спасибо.
С приведёнными данными вот такая строка команды работает:
echo "123|Text|234|aaa|Thu, 07 Jul 2005 14:12:01 +0400|dsfas|asdkfj" | awk
-F\| '{ OFS="|"; $5=D; print$0 }' D=`date +'%s' --date='Thu, 07 Jul 2005
14:12:01+0400'`
123|Text|234|aaa|1120731121|dsfas|asdkfj
Теперь остаётся решить, как передавать awk нужные строки, нужную дату, и
как потом заменять их в файле на строки с изменённым 5-м полем.
Удачи.
Александр.
^ permalink raw reply [flat|nested] 5+ messages in thread