ls 添加主机名前缀?

ls 添加主机名前缀?

有没有一种简洁的方式来列出文件,并在前面加上主机名?我尝试合并ls、和进程替换xargspaste但失败了。

这是我想到的最好的办法:

ls * | paste  <(echo $HOST)

最终,我想通过调用一系列 ssh 命令列出多个主机上的一堆文件,以便我可以执行如下操作:

ssh host1 "ls_with_hostname_prefix /var/log/*"
ssh host2 "ls_with_hostname_prefix /var/log/*"
ssh host3 "ls_with_hostname_prefix /var/log/*"

答案1

相关问题.你可以简单地做

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

您可能希望将其作为脚本存储在远程主机上,或者将其与以下内容合并ssh

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

并运行它

remote_ls_with_alias host1 "/var/log/*"
remote_ls_with_alias host2 "/var/log/*"
remote_ls_with_alias host3 "/var/log/*"

相关内容