I\'m trying to make this command:
sed bla bla filename | awk \'{printf \"%s %s_entry_%.3f %.3f %.3f %.3f\",$1,$3,$4,$5,$6,$7}\'
But the thi
you can use -v
option of awk to pass in variable from the shell
#!/bin/bash
awk -v values="${values}" '{gsub("blah","replace");printf "%s %s_entry_"values ....}' file
the gsub()
function is to replace what you have with that sed
command. So just one awk command will do. sed
is redundant in this case (and most other cases where awk is used)
If you mean that values
is a shell variable, then this will work:
sed bla bla filename | awk '{printf "%s %s_entry_"ENVIRON["values"],$1,$3,$4,$5,$6,$7}'
Easiest to use actual awk variables:
sed bla bla filename | awk -v values="$values" '{printf "%s %s_entry_"values,$1,$3,$4,$5,$6,$7}'
Or with bash:
awk -v values="$values" '{printf "%s %s_entry_"values,$1,$3,$4,$5,$6,$7}' <(sed bla bla filename)