Войти

Показать полную графическую версию : Удалить лишние строки из txt


Страниц : 1 [2]

Iska
13-06-2012, 21:42
aos, посмотрел. Ошибка здесь:
"C:\Program Files\Log Parser 2.2\LogParser.exe" "SELECT Text FROM 'Input.txt' WHERE TRIM(SUBSTR(Text, 97, 10)) <> ''" -i:TEXTLINE -iCodepage:1251 -q:on 1>"!sDestFile!"
— я банально забыл исправить жёстко заданное имя входного файла на переменную окружения. Я поправил исходный пакетный файл. Приношу Вам свои извинения. Пробуйте теперь.

aos
14-06-2012, 06:55
Огромное спасибо!!! Все работает!

aos
14-06-2012, 08:08
Новый прикол, после отрабоки через какое то время самоочищается )))

Iska
14-06-2012, 14:01
aos, поясните пожалуйста, что самоочищается, через какое именно время.

naifrit
10-07-2012, 13:27
Продолжаю рекламировать Log Parser:
Код:
"C:\Program Files\Log Parser 2.2\LogParser.exe" "SELECT Text FROM 'Input.txt' WHERE TRIM(SUBSTR(Text, 97, 10)) <> ''" -i:TEXTLINE -iCodepage:1251 -q:on >Output.txt
Output.txt … »

А подскажите, как удалить строчку со значением 0.00?



Тюрин Д. С.;Алейск,Ширшова ул,5,55;630000002936;42039.52
Фатеева Л. Л.;Алейск,Ширшова ул,9,39;630000002937;1502.45
Вдонин А. В.;Алейск,Ширшова ул,16,414;630000003967;0.00
Юрченко Виталий Сергеевич;Алейск,им В.Олешко ул,82А,70;630000003968;2533.39
Рябцев Вадим Иванович;Алейск,Ширшова ул,3,12;630000003969;4186.19
Пыхтеев Кирилл Леонидович;Алейск,Ширшова ул,16,314;630000003970;5716.15
Смирнов Антон Николаевич;Алейск,Ширшова ул,16,215;630000003971;4804.42
Микрюков Вячеслав Владимирович;Алейск,Ширшова ул,16,312;630000003972;3697.96
Воропаева Ирина Николаевна;Алейск,Ширшова ул,15А,19;630000003973;1840.83
Троянова Нина Тихоновна;Алейск,Гвардейская ул,13,2;630000003974;0.00
Рыбин Максим Юрьевич;Алейск,Ширшова ул,23,2;630000003975;3685.36
Чеплыгин Сергей Александрович;Алейск,Ширшова ул,15,48;630000003976;7241.95

Iska
10-07-2012, 17:08
naifrit, с помощью LogParser — напрямую никак: средство предназначено для извлечения данных, но не удаления (т.е., есть операция SELECT, но нет операции DELETE).

Но можно пойти от обратного: извлечь все строки, четвёртое поле которых не содержит «0.00»:
"C:\Program Files\Log Parser 2.2\LogParser.exe" "SELECT Field1 AS FIO, Field2 AS Address, Field3 AS INN, SUBSTR(TO_STRING(Field4), 0, SUB(STRLEN(TO_STRING(Field4)), 4)) AS Summ FROM 'Source.txt' WHERE Summ <> '0.00'" -i:TSV -iSeparator:; -headerRow:OFF -nFields:4 -iCodepage:1251 -q:on -o:TSV -headers:OFF -oSeparator:;>Destination.txt




© OSzone.net 2001-2012