это команда, которую вы ищете:
sed -ne '/[^ ]/s/ *$//p' <in >out
... для строк, которые соответствуют хотя бы 1 непробельному символу, sed
заменит от самого длинного совпадения, которое может состоять из 0 или более завершающих пробелов в конце строки. в случае успеха (и так будет всегда, потому что никогда не бывает недостатка ни в чем) , строка набирается p
.
результат таков, что команда p
очищает только непустые и непустые строки, одновременно удаляя все конечные пробелы.
Спасибо вам всем, ребята. Инцидент решен. На моем домашнем шлюзе была какая-то ошибка, из-за которой это устройство отключалось через 20 секунд после того, как я сделал какие-либо изменения в домашнем шлюзе. Я обновил прошивку на своем домашнем шлюзе, сделал сброс настроек и снова настроил его, и все работает хорошо.
Спасибо всем за уделенное время. Привет