echo bla | awk 'BEGIN{fname="foo.txt"} {print $0 >>fname; print "rm -f " fname | "/usr/bin/ksh"; close("/usr/bin/ksh"); print $0 >>fname}'
После выполнения этой команды в итоге я должен получить файл «foo.txt», правильно?Awk не может воссоздать удаленный файл?
Не работает. Я попробовал систему («/ usr/bin/rm -f» fname), чтобы удалить файл, bash вместо ksh, Linux, HP-UX, Cygwin, fflush («»), ... просто не работает! Кажется, что после удаления файла Awk просто не может писать в файл с тем же именем.
Похож на ошибку в Awk, или я что-то упускаю (большое время!)?!
Позор на меня. Вы абсолютно правы. Большое спасибо. – ExpertNoob