使用echo和sed工作的shell脚本

时间:2015-07-03 04:40:54

标签: shell

在此输入代码我试图从可用数据中过滤特定时间范围的日志。

例如: - 事件发生在上午11:00左右,因为我在边缘路由器上丢失了连接。所以,现在我试图通过一个日志文件的时间段10:50 - 11:05来看看在这段时间内发生了什么。

我尝试使用此脚本创建并且它无法正常工作

#!/bin/bash

echo "Enter Filename"
read filename
echo "type start-time and hit [Enter]: "
read word1
echo "type end-time and hit [Enter]: "
read word2
sed -n '/$word1/,/$word2/p' $filename

如果我发出sed命令而没有集成到脚本中,我可以获得所需的输出。但是,我试图使用我输入值的脚本执行它。

由于

1 个答案:

答案 0 :(得分:2)

使用这样的sed命令:

sed -n "/$word1/,/$word2/p" "$filename"

问题是shell不会在单引号内扩展变量。如果您要扩展变量,例如word1word2,请使用双引号。

如果您不使用单引号或双引号,则结果会受到分词的影响,这可能不是您想要的。