我有一个Time.sh文件,其中包含用于存储运行时用户输入的StartTime和EndTime的代码。 Time.sh fie中的代码是
href
以下是我在运行时获取StartTime和EndTime的代码。
read -p "Enter Start Time : " StartTime
read -p "Enter End Time : " EndTime
echo "Start and End Time are:" $StartTime, $EndTime
现在我必须在两个变量中使用这个值,并在“Test.log”文件中打印数据。 Test.log文件中的数据如下,
$ chmod +x Time.sh
$ ./Time.sh
我使用了以下代码,
May 10 01:07:05 server1 user:err|error IIB[78658909]: error text
May 10 01:07:06 server1 user:notice superstp[78653958]: infotext notice text
May 10 01:07:07 server1 user:info syslog: infotext
May 10 01:07:08 server1 user:err|error IIB[78658909]: error text
May 10 01:07:09 server1 user:warn|warning IBM Java[78650709]: warning text
May 10 01:07:10 server1 user:info syslog: infotext
May 10 01:07:11 server1 user:err|error IIB[78658909]: error text
May 10 01:07:12 server1 user:warn|warning IBM Java[78650709]: warning text
May 10 01:07:13 server1 user:notice superstp[78653958]: infotext notice text
May 10 01:07:14 server1 user:info syslog: infotext
May 10 01:07:15 server1 user:warn|warning IBM Java[78650709]: warning text
但它不起作用。任何人都可以帮助使用这两个变量并获取StartTime和EndTime中的数据。在此先感谢。
答案 0 :(得分:0)
以下内容应该有所帮助:
BEGIN { Found = 0; EndFound = 0;}
{
if($0 ~ Start)
{
Found = 1;
}
if($0 ~ End)
{
EndFound = 1;
}
else
{
if(EndFound == 1)
{
Found = 0;
}
}
if(Found)
{
print $0;
}
}
它应该以{{1}}运行,其中awk -v Start="01:07:06" -v End="01:07:10" -f program data_file
包含上面的代码,program
和"01:07:06"
分别包含开始和结束时间。
这只是一个例子。请根据您的具体要求改变它。