The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Создать скрипт помогите"
Версия для распечатки Пред. тема | След. тема
Форум Программирование под UNIX
Исходное сообщение [ Отслеживать ]

. "Создать скрипт помогите" +/
Сообщение от михалыч (ok), 19-Янв-17, 18:52 
да ладно, чего там, можно и на "ты"!
про обратную связь - это я, конечно, погорячился, ляпнул не подумав ))

вариант анонима

awk '{$1+=20.2; $2+=30.3; printf "%f %f %s\n", $1, $2, substr($0, length($1)+length($2)+3, length($0))}' file

25,200000 120,300000 0.144003 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
30,200000 120,300000 0.001848 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000


твой вариант, безусловно изящней

awk '{$1=sprintf("%f",$1+20.2); $2=sprintf("%f",$2+30.3); print}' file

25,200000 120,300000 0.144003 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
30,200000 120,300000 0.001848 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000

я там про точки/запятые писал (да гранаты у меня не той системы - ось фря ))))

и чтобы были точки вместо запятых, приходится перед awk делать setenv "LC_NUMERIC=C" или export LC_NUMERIC=C

а хочется иногда странного, чтобы безо всяких экспортов,
и в perl сразу с точками, кстати с ключиком -a получается а-ля awk

perl -ane '$x=20.2; $y=30.3; $F[0]=sprintf("%f",$F[0]+$x); $F[1]=sprintf("%f",$F[1]+$y); print join(" ", @F),"\n";' file

25.200000 120.300000 0.144003 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
30.200000 120.300000 0.001848 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000

а я в очередной раз убеждаюсь в мастерстве мэтра ))

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Создать скрипт помогите, pilotik, 17-Янв-17, 14:46  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру