пожалуйста, попробуйте это,
Я сохранил данный образец вывода в файле /tmp/test.txt.
xargs -n 2 | sed 's/^/Hostname1 /'
-n
означает максимальное количество аргументов в строке. Например;
cat /tmp/test.txt | xargs -n 2 | sed 's/^/Hostname1 /g'
Hostname1 rrcpd 17
Hostname1 rrcpd 0
Hostname1 Cheese 3
Hostname1 cakes 8
Hostname1 Cats 9
Hostname1 dogs 3
Не гарантируется, что ваши локальные имена UID/GID будут совпадать с удаленными именами UID/GID.
Но именно значения UID/GID важны при межмашинных -передачах. Единственным гарантированным значением UID является root -с UID=0.
Если это разовая -копия, вам потребуется root-доступ для создания группы на удаленном компьютере. Таким образом, вы можете-с большой осторожностью-запустить свой скрипт от имени пользователя root -просто для создания новой группы.
Вам необходимо создать группу с GID, совпадающим на обеих машинах [имя группы — по вашему выбору]; предположительно, он должен иметь одинаковый набор UID на обеих машинах -[имена пользователей по вашему выбору].
В идеале имена групп и пользователей должны быть одинаковыми на двух машинах «для простоты».
/etc/group
список файлов с разделителями 'имя группы' :'x' :GID :user1,user2,...
/etc/passwd
дает хорошо -известную перекрестную -ссылку на имя пользователя, UID
Тем не менее, эта процедура представляется очень рискованной -, даже если вы запускали ее в пробном -режиме и тщательно проверяли -результаты.
Если возможно, вы можете просто установить set GID bit
на удаленной машине:
$chmod g+s abc -R /a/b/c
(или начните с/a
-в зависимости от ваших потребностей ). Это однократное -изменение конфигурации.
Таким образом, все, что делается на удаленной машине, будет иметь abc
в качестве основной группы, и ваша scp
будет нормально работать без изменений.