1

Я должен написать довольно большой текстовый файл (> 300 000 строк), используя текст, извлеченный из второго столбца одного файла, затем добавить и добавить текст в каждую строку и, наконец, записать его в новый файл.

У меня есть следующий цикл, и он работает нормально. Но это медленно, занимает много минут за пробег. Я подозреваю, что есть лучший рецепт / метод awk, который был бы намного быстрее. Может кто-нибудь предложить более быстрый метод.

SOURCEFILE пример

useless9   important1   more useless stuff
useless8   important2   more useless stuff
useless7   important3   more useless stuff
useless6   important4   more useless stuff

Извлечение текста из исходного файла и вывод конечного файла результатов.

while read line; do

  mytext=`echo $line | awk -v RS='\r\n' '{print $2}'`

  echo "$PrePattern $mytext $PostPattern" >> $OUTFILE

done < $SOURCEFILE

OUTFILE

PrePattern text important1 PostPattern text
PrePattern text important2 PostPattern text
PrePattern text important3 PostPattern text
...

1 ответ1

1

Вам нужно больше учиться.

awk '{print "prepattern mytext "$2" postpattern";}' <$sourcefile >$outfile

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .