使用awk进行错误替换

时间:2014-11-11 12:25:03

标签: bash vim awk

我试图打开一些文件作为awk的输出;命令是:

grep "formatDate\s=" "js/components/" | awk '{print $1}' |  awk -F  ":" '/1/ {print $1}'

它(似乎)正常工作。

如果我尝试将该输出打开为vim的标签,请执行以下操作:

vim -p ${ grep "formatDate\s=" "js/components/" | awk '{print $1}' |  awk -F  ":" '/1/ {print $1}' }

然后我得到:

  

-bash:$ {grep“formatDate \ s =”“js / components /”| awk'{print $ 1}'| awk -F“:”'/ 1 / {print $ 1}'}:糟糕的替换

有任何帮助吗?感谢。

1 个答案:

答案 0 :(得分:2)

执行命令的方法是$(),而您正在使用${}

因此,这应该有效:

vim -p $(grep "formatDate\s=" "js/components/" | awk '{print $1}' |  awk -F  ":" '/1/ {print $1}')