grep com variável em uma variável

0

Eu quero filtrar o arquivo svlog por data e dividir o resultado pelo espaço, então quando eu entro na data, não funcionou para mim, por favor, consulte o script que eu escrevi abaixo, o problema estava neste comando:

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

, não considera "\ $ day". Eu também tentei este "^ \ $ day", este "$ day" e este "$ {day}" mas o mesmo resultado.

#!/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

$ 
    
por LinuxUser 26.04.2016 / 16:37

1 resposta

2

Alterar

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

para

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

Para alimentar o conteúdo de $ligne a awk , use

echo "$ligne" | awk ...
    
por 26.04.2016 / 16:47