Страница 1 из 1

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

Добавлено: 2013-10-08 15:26:57
mmvds
Всем привет! Есть файл такого вида:
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
.....

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

Добавлено: 2013-10-08 15:37:05
ChihPih
На перле сделать например. Загрузить весь файл в память, если он конечно влезет в нее. Далее regex,ом снести нули первые в строке (что-то около этого $str ~= s/^[0]+//gc) и записать результат из памяти в файл.

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

Добавлено: 2013-10-08 16:09:59
rmn

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

sed "s/^0*//" file.txt

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

Добавлено: 2013-10-08 23:17:20
mmvds
Спасибо!

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

Добавлено: 2013-10-09 9:50:04
bagas
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