в таком языке, как awk, вы не можете передать функцию в качестве аргумента. Таким образом, вы должны сделать это наоборот. Сначала нужно разделить ввод, обработать его и снова присоединить. Вы можете сделать это так:
Это разделит ввод:
awk -F"%%%" '{for(i=2;i<=NF;i++){if (i==NF){print ""}else print $i}}' file
Теперь вы можете прочитать его и применить свою функцию, которую вы должны сохранить в сценарии оболочки "processurl":
| while read url; do ./processurl $url; done
И присоединиться снова:
awk 'BEGIN{RS=""}{for (i=1;i<=NF;i++)
{if (i==NF){printf "\s%%%%%%\n",$i}else{printf "%s%%%%%%",$i}}}'
HTH Крис