【问题标题】:Bad substitution using awk使用 awk 进行错误替换
【发布时间】:2014-11-11 20:37:13
【问题描述】:

我正在尝试打开一些文件作为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 '{打印 $1}' | awk -F ":" '/1/ {print $1}' }: 替换错误

有什么帮助吗?谢谢。

【问题讨论】:

  • 为什么不将管道的输出发送到文件然后打开该文件?
  • 不确定我是否明白你的意思:如果我打开那个文件,我会以文本形式编辑它(文本作为文件名列表)。你的意思是我应该 cat 文件并打开 cat 的输出?但在那种情况下,输出与 awk 相同。对不起,如果我只是误会...

标签: bash vim awk


【解决方案1】:

执行命令的方式是$(),而你使用的是${}

因此,这应该可行:

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

【讨论】:

  • 啊...谢谢!真的很尴尬,我需要假期... :(
猜你喜欢
  • 2023-03-28
  • 2020-06-24
  • 1970-01-01
  • 1970-01-01
  • 2021-07-02
  • 2015-01-07
  • 2013-05-30
  • 2011-08-20
  • 2012-11-30
相关资源
最近更新 更多