Você precisa estudar mais awk.
awk '{print "prepattern mytext "$2" postpattern";}' <$sourcefile >$outfile
Eu tenho que escrever um arquivo de texto razoavelmente grande (> 300.000 linhas) usando texto extraído da segunda coluna de um arquivo e, em seguida, acrescentar e anexar texto a cada linha e finalmente escrevê-la em um novo arquivo.
Eu tenho o seguinte loop enquanto ele está funcionando bem. Mas é lento, levando muitos minutos por corrida. Eu suspeito que há uma melhor receita / método awk que seria muito mais rápido. Alguém pode sugerir um método mais rápido.
Exemplo de SOURCEFILE
useless9 important1 more useless stuff
useless8 important2 more useless stuff
useless7 important3 more useless stuff
useless6 important4 more useless stuff
Extraia texto do arquivo de origem e envie o arquivo de resultado final.
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
...
Você precisa estudar mais awk.
awk '{print "prepattern mytext "$2" postpattern";}' <$sourcefile >$outfile