grep 变量中包含变量

grep 变量中包含变量

我想按日期过滤svlog文件并按空格分割结果,所以当我输入日期时,它对我不起作用,请参考我下面编写的脚本,问题出在这个命令中:

ligne=`cat /var/log/svlog | grep  "\$day"`

,它不考虑“\$day”。我也尝试了这个“^\$day”,这个“$day”和这个“${day}”,但结果相同。

#!/bin/bash                 

echo SCRIPT-LOG             
echo enter date         
read day                   

ligne=`cat /var/log/svlog | grep  "\$day"`

$ligne >> log1.txt          

awk '{split($ligne,numbers," ")} END {for(n in numbers){ print numbers[n] }}'>lo


"Monit_Sub.sh" 11 lines, 211 characters

$ sudo ./Monit_Sub.sh 
SCRIPT-LOG
enter date
Apr 26
./Monit_Sub.sh: line 8: Apr: command not found

$ 

答案1

改变

ligne=`cat /var/log/svlog | grep  "\$day"`    

ligne=$(grep "$day" /var/log/svlog)

$ligne要提供to的内容awk,请使用

echo "$ligne" | awk ...

相关内容