简体   繁体   English

sed 中的命令替换未按预期工作

[英]Command substitution inside sed is not working as expected

I am trying to write a bash script to get the logs from a certain timeframe by reading the log file我正在尝试编写一个 bash 脚本,通过读取日志文件来获取某个时间范围内的日志

I am trying to use the following sed command我正在尝试使用以下 sed 命令

sed -n '/2019-12-09 03:47:26/,/2019-12-09 03:48:26/p' mqerror.log.20191209

It works fine as above, and able to retrieve the logs during that timeframe, but when i try with command substitution inside sed, itseems not working.它像上面一样工作正常,并且能够在该时间范围内检索日志,但是当我尝试在 sed 中使用命令替换时,它似乎不起作用。 kindly help好心帮助

sed -n '/`date +'%Y-%m-%d'` 03:47:26/,/`date +'%Y-%m-%d'` 03:48:26/p' mqerror.log.`date +'%Y%m%d'`

After putting in double quotes as below.如下放入双引号后。 It is working as expected它按预期工作

sed -n "/ date +'%Y-%m-%d' 0$PREV_HOUR: :/,/ date +'%Y-%m-%d' 0$CURR_HOUR: :/p" mqerror.log. sed -n "/ date +'%Y-%m-%d' 0$PREV_HOUR: :/,/ date +'%Y-%m-%d' 0$CURR_HOUR: :/p" mqerror.log。 date +'%Y%m%d'

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM