Может быть, это то, что вы хотите?
например. у вас есть скрипт с именем sqr.sh:
kent$ cat sqr.sh
#!/bin/bash
echo $(($1*$1))
Теперь вы хотите применить вышеуказанную функцию к вашему входу:
kent$ echo "foo@2@3@4@
0@10@20@
x@"|awk -F'@' -v OFS=@ '{for(i=2;i<=NF;i++) if($i) "./sqr.sh "$i|getline $i; print}'
foo@4@9@16@
0@100@400@
x@