Во-первых, нет необходимости разбирать вывод ls
или даже использовать цикл оболочки вообще - поскольку awk
может читать и обрабатывать список файлов.
Другая проблема заключается в том, как вы ссылаетесь на переданную переменную: $ curr
должно быть просто curr
( $ curr
будет относиться к поле с номером curr
- если такое существовало). Также нет необходимости дважды проверять пустоту полей.
Итак
awk -v curr="$now" '
BEGIN{OFS=FS="|";} {for(i=3;i<=4;i++) {if ($i=="") $i=curr}} {print}
' Added_to_*