РЕДАКТИРОВАТЬ: Добавление решения в соответствии с комментариями OP для сохранения вывода в выходных файлах попробуйте следующее.
awk '
FNR==1{
close(out_file)
sub(/\./,"_new&",FILENAME)
out_file=FILENAME
}
{
$NF="unknown" OFS $NF
print > (out_file)
}' *.bed
В случае, если вы не беспокойтесь о пробелах между строками, тогда вы можете попробовать следующее.
awk '{$NF="unknown" OFS $NF} 1' Input_file
ИЛИ с GNU awk
последние версии попробуйте:
gawk -i inplace -v INPLACE_SUFFIX=.bak '{$NF="unknown" OFS $NF} 1' Input_file(s)
Чтобы сделать пробелы выглядят хорошо, вы можете добавить column
к вышеприведенной команде:
awk '{$NF="unknown" OFS $NF} 1' Input_file | column -t
ИЛИ с GNU awk
последние версии попробуйте:
gawk -i inplace -v INPLACE_SUFFIX=.bak '{$NF="unknown" OFS $NF} 1' Input_file | column -t