С GNU awk:
pattern = "force %1$-4s npos 0. .0001\n" \
"force %1$-4s epos 0. .0001\n" \
"force %1$-4s upos 0. .0001\n"
[...]
printf pattern, user[i]
Как для printf (3)
GNU libc
, %
в GNU awk
ссылается на n -й аргумент после формата.
Переносимо:
pattern = "force %-4s npos 0. .0001\n" \
"force %-4s epos 0. .0001\n" \
"force %-4s upos 0. .0001\n"
[...]
printf pattern, j=user[i], j, j
Попробуйте
awk '
match ($0, /FF *[^ ]* /) {FN = substr($0, RSTART+3, RLENGTH -4) ".txt"
gsub (/ /, "", FN)
print $0 > FN
}
' file