Редактировать : не работает, если вывод command1
не заканчивается новой строкой.
Редактировать : также не работает, если одна или обе команды не выдают результат.Нужен более гибкий инструмент -> awk.См. Другое решение.
Чтобы сделать то же самое, что и:
ssh user@host "command1" > /local/1.txt
ssh user@host "command2" > /local/2.txt
в одном соединении и без временного файла, вы можете сделать:
ssh user@host "command1 | sed -e 's/^/1/' ; command2 | sed -e 's/^/2/'" | \
sed -n -e '/^1/{s/^.//;w /local/1.txt
};/^2/{s/^.//;w /local/2.txt
}'
Вам нужноновые строки после /local/1.txt
и /local/2.txt
, потому что если их там нет, sed будет продолжать думать, что вы пишете имя файла.