файлы с "идентификаторами" максимум 2300 строк.
файл который надо править 1-700 мегов (sal.csv)
ИМХО это лучше делать в БД, например в MySQL, либо писать свою БД, например на C/C++.
ну вообще БД Oracle там уже всё это есть, но сложный вопрос где это будет быстрее... если тут не получится я думал в принципе о таком варианте.
(в плане если переделывать это с помощью процедуры.. то на данный момент мысленно она выглядит примерно while read line)
кстать на awk кажется чёт написал выглядит как:
Код: Выделить всё
awk -F'|' '{number = $1; str = $2; getline < "sal.csv"; if ($2=str) { sub($2, number); } print}' val.csv
смущает правда getline + не проверял на больших файлах + опять пропадают разделители... короче одни минусы=)
т.е. получается:
Код: Выделить всё
Vasya 10 100000 Proger ZZ
Petya 2 20000 Admin fgg
Misha 4 30000 Yborchica sdf
P.S цифры намерянно менял для теста + до сих пор не понял какой файл в результате моей команды берётся а по какому бежит.. смутное очучение что что-то не так) или вообще я не понимаю как это работает))
Up:
с разделителями решилось:
awk -F'|' '{OFS="|"; number = $1; str = $2; getline < "sal.csv" ; if ($2=str) { sub($2, number) }; print }' val.csv