根据 grep 结果执行命令

根据 grep 结果执行命令

我的主文件夹中有一个文件 abc.txt。

~$ cat abc.txt
ls
date

我想要执行一个 grep 命令,如下
~$ grep 'dat' abc.txt
所示日期结果和日期是一个 shell 命令。所以我想执行我在 grep 结果中得到的命令(日期) 在 grep 命令的同一行中。

是否可以使用|类似运算符来
~$ grep 'dat' abc.txt | [Some command syntax like xargs] 给出当前时间的结果星期五 11月 4日 18:55:06 IST 2016

答案1

这是你需要的吗?
注意:这是使用 bash shell

# cat abc.txt  
test line 1
date +%F  
test line 3

# $(grep dat abc.txt)  
2016-11-04  

您需要小心从grep命令中过滤的内容 —— 所有内容都将作为单个命令触发到 shell 中!因此,请使用您的过滤器获取单行匹配。

附言:一定有更好的方法,但我现在想不起来了。
了解您真正想在这里做什么会有所帮助。

相关内容