ls adiciona o prefixo do nome do host?

1

Existe uma maneira compacta de listar arquivos, com o nome do host incluído? Meus esforços para combinar ls , xargs , paste e substituição de processos falharam em mim.

Este é o melhor que eu criei:

ls * | paste  <(echo $HOST)
Em última análise, quero listar vários arquivos em vários hosts invocando uma série de comandos ssh para que eu possa fazer algo assim:

ssh host1 "ls_with_hostname_prefix /var/log/*"
ssh host2 "ls_with_hostname_prefix /var/log/*"
ssh host3 "ls_with_hostname_prefix /var/log/*"
    
por Sridhar-Sarnobat 21.12.2016 / 23:16

1 resposta

1

Pergunta relacionada sobre SO . Você pode simplesmente fazer

ls | sed -e 's/^/$HOST /'

Você provavelmente deseja armazená-lo como um script nos hosts remotos ou mesclá-lo, mesmo com o ssh :

function remote_ls_with_alias() {
  ssh $1 "ls $2 | sed -e \"s/^/$1 /\""
}

e execute-o como

remote_ls_with_alias host1 "/var/log/*"
remote_ls_with_alias host2 "/var/log/*"
remote_ls_with_alias host3 "/var/log/*"
    
por 21.12.2016 / 23:30

Tags