为什么不好替代?

时间:2017-10-30 09:28:18

标签: bash awk

我正在尝试从awk获取值: 我尝试$(),它显示了错误的替换:

a=${awk 'BEGIN { last=substr("[Import][2017-10-30 02:30:45 UTC] End",10,23); print last}'}  
bash: ${awk 'BEGIN { last=substr("[Import][2017-10-30 02:30:45 UTC] End",10,23); print last}'}: bad substitution

但如果我使用``,它运作良好:

a=`awk 'BEGIN { last=substr("[Import][2017-10-30 02:30:45 UTC] End",10,23); print last}'`

awk中的代码运行良好。 我正在尝试使用awk匹配最后一个“[Import] [2017-10-30 02:30:45 UTC] End”,就像文件中的字符串一样。并且代码用于尝试。

1 个答案:

答案 0 :(得分:0)

它无效,你必须使用myvar=$( .... )创建变量,而参数扩展的基本形式是${parameter}

a=${awk 'BEGIN { last=substr("[Import][2017-10-30 02:30:45 UTC] End",10,23); print last}'} 

a=$(awk 'BEGIN { last=substr("[Import][2017-10-30 02:30:45 UTC] End",10,23); print last}')