Поиск шаблона и удаление шаблона, не затрагивая остальную часть строки

Ответ на : "как войти вывод оболочки ssh?"

  • используйте простое перенаправление >

, например.

ssh user@remote_host "command" > local_log_file.txt

или

sshpass -p 'psswd' ssh username@server-2 "echo 'testing'; cp dir1/file1 dir2;" > local_machine_ssh_log.txt

Если вы хотите проверить результат выполнения команды cp на удаленном сервере, я предлагаю запустить оператор if на удаленном хосте как часть команда, которую вы отправляете, сразу после запуска команды cp

что-то вроде:

sshpass -p 'psswd' ssh username@server-2 "echo 'testing'; cp dir1/file1 dir2;if [ $? -eq 0 ]; then   echo "successfully copied"; else   echo "failed copying due to incorrect path"; fi" > local_machine_ssh_log.txt
0
04.07.2017, 17:23
2 ответа

Вам не нужно знать номер строки, вы можете sedбезоговорочно (попытаться) изменить каждую строку:

$ sed -e 's/-ri //' < input > output

Становится более неудобно, если у вас есть совпадения в нескольких строках, и хотите обрабатывать только некоторые из них.

4
28.01.2020, 02:15

sed можно использовать для подобных задач:

sed 's/-ri //g' path/to/file

найдет каждое вхождение -riи заменит его ничем, используя замену sopera in sed

2
28.01.2020, 02:15

Теги

Похожие вопросы