有没有一种简洁的方式来列出文件,并在前面加上主机名?我尝试合并ls
、和进程替换xargs
,paste
但失败了。
这是我想到的最好的办法:
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/*"