1

Существует ли компактный способ составления списка файлов с добавлением имени хоста? Мои попытки объединить 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 ответ1

1

Похожий вопрос по SO. Вы можете просто сделать

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/*"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .