Eu preciso aumentar minha saída para incluir cat-ing de um arquivo neste script Bash

1

Eu tenho um script consultando um servidor remoto com base na entrada do usuário e procura pela última data modificada de um arquivo. Ele funciona, no entanto, contido no arquivo é uma string que eu preciso ter exibido também e tudo que eu tentei foi em vão. Eu realmente aprecio qualquer ajuda.

Script

echo "Input server name:"
read server
echo "Input user:"
read user

ssh $server "find /home/  -maxdepth 2 -name .lastlogin | xargs -l -I{} bash -c '{
stat -c \"User: %U Last Login : %y\" {} | cut -c -47 |grep $user; 
}'"

Saída da amostra atual

User: owner Last Login : 2014-07-24 15:05:39

Eu preciso dessa saída para incluir o conteúdo desse arquivo, .lastlogin , que por acaso é um endereço IP.

Saída de amostra desejada

User: owner Last Login : 2014-07-24 15:05:39 From: 172.0.0.1
    
por subt3xt 29.07.2014 / 17:42

2 respostas

0

Acabou fazendo isso, funcionou muito bem.

echo "Server name:"
read server
echo "Search for user:"
read user

OUTPUT1=$(ssh $server "find /home/$user/.lastlogin | xargs -l -I{} bash -c '{
stat -c \"User: %U Last Login : %y\" {} | cut -c -47;
}'")

OUTPUT2=$(ssh $server "cat /home/$user/.lastlogin")

echo "$OUTPUT1 From: $OUTPUT2"
exit

Saída:

User: owner Last Login : 2014-07-24 15:05:39 From: 172.0.0.1
    
por 30.07.2014 / 16:35
0

Muito simples:

ssh $server "readlink -f /home/$user/.lastlogin | \
    xargs -l -I{} bash -c '{
      stat -c \"User: %U Last Login : %y\" {} | cut -c -47 | grep $user;
      echo -n \"From: \" ; cat {} ; echo ; 
    }'"

Eu usaria readlink -f em vez de find .

    
por 03.08.2014 / 14:16