Убрать незначимые нули

Программирование на sh, быть может немного про альтернативные языки
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
mmvds
мл. сержант
Сообщения: 92
Зарегистрирован: 2011-01-26 17:24:07

Убрать незначимые нули

Непрочитанное сообщение mmvds » 2013-10-08 15:26:57

Всем привет! Есть файл такого вида:
0001,slkfjdsf,sdfsf,3,4
0045,akjdfja,dfdfd,5,23
0100,sggdfgdf,dgfd,6,1
0003,dfgdfgddg,dfgd,76,5
.....
файл довольно большой (около 300 000 записей, дальше будет только больше), подскажите пожалуйста, какой из стандартных утилит можно воспользоваться чтобы убрать незначащие нули (только из 1-ого столбца) и это выполнилось в разумные сроки (скрипт надо запускать раз в день)
т.е. получить файл такого вида:
1,slkfjdsf,sdfsf,3,4
45,akjdfja,dfdfd,5,23
100,sggdfgdf,dgfd,6,1
3,dfgdfgddg,dfgd,76,5
.....

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

ChihPih
ст. прапорщик
Сообщения: 568
Зарегистрирован: 2009-09-04 12:23:30
Откуда: Где-то в России...
Контактная информация:

Re: Убрать незначимые нули

Непрочитанное сообщение ChihPih » 2013-10-08 15:37:05

На перле сделать например. Загрузить весь файл в память, если он конечно влезет в нее. Далее regex,ом снести нули первые в строке (что-то около этого $str ~= s/^[0]+//gc) и записать результат из памяти в файл.
www.info-x.org - информационный ресурс о ОС FreeBSD.



Аватара пользователя
bagas
лейтенант
Сообщения: 922
Зарегистрирован: 2010-08-18 19:49:01
Откуда: Воронеж
Контактная информация:

Re: Убрать незначимые нули

Непрочитанное сообщение bagas » 2013-10-09 9:50:04

sed 's/\([^,]0*\)\1//; s/^0//'
Можно еще так, удалить все нули до первой запятой.
Конечно тапорно реализовано, но работает.

Код: Выделить всё

# sed 's/\([^,]0*\)\1//; s/^0//' test
1,slkfjdsf,sdfsf,3,4
45,akjdfja,dfdfd,5,23
1,sggdfgdf,dgfd,6,1
3,dfgdfgddg,dfgd,76,5
Что бы ты не делал , жизнь слишком коротка!
Блог о BSD системах.