【问题标题】:Execute agrep within script | grep terminal output [duplicate]在脚本中执行 agrep | grep终端输出[重复]
【发布时间】:2021-01-08 00:38:20
【问题描述】:

我可以在下面的脚本中执行 grep 吗?

echo 5
echo 4
result='çat output.txt | grep flag'
echo $result

scipt 的使用方式如下 ./脚本 | ./program > output.txt

脚本用作程序的输入,程序的输出被放入输出,我希望能够立即 grep。目前看来,不做grep命令就结束了

【问题讨论】:

  • ç 应该是c
  • 这没有意义。在写入输出之前,您不能 grep 输出。
  • @Barmar 有没有办法读取终端输出呢?该程序设置为只允许输入数字,因此 4 实际上只是退出程序。这就是为什么我试图将内容放入 output.txt
  • 如果你试图将这些作为输入提供给另一个命令,你应该通过管道传递它们:{ echo 5; echo 4; } | ./program
  • 但是,如果您尝试将输入发送到程序并处理其输出,则使用的工具是 expect

标签: linux shell


【解决方案1】:

我的印象是您使用的是单引号,而它应该是反引号。幸运的是有一些更容易使用的东西

result=$(cat output.txt | grep "flag")

$(some_command) 用于获取some_command 的结果。

【讨论】:

  • 这是重复的问题。尽管他似乎还有其他问题,因为他想从他正在编写的同一个文件中进行 grep。
猜你喜欢
  • 2013-10-01
  • 2017-09-13
  • 2015-11-12
  • 1970-01-01
  • 2023-04-10
  • 2011-01-11
  • 2011-04-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多