Я написал приложение для Java-консоли, которое неоднократно выводит свой статус на консоль, используя возврат каретки (\r) в конце, а не перевод строки (\n), чтобы сохранить вывод на одном экране. Я также хочу передать этот вывод в файл, как
java -jar my-jar.jar | tee /tmp/my-jar.log
Однако не имеет смысла записывать все в этот файл, только то, что видно в конце приложения. Другими словами, мне не нужны все "строки", заканчивающиеся на \r.
Пример: я кодирую
System.out.print("hello\r")
Thread.sleep(2000);
System.out.println("world")
На экране появляется "привет" и через две секунды его заменяет "мир". Поэтому после завершения программы пользователь видит "мир" только на экране. Хорошо, это правильно.
Однако, если я передаю это в файл, он содержит «hello \rworld \n», но я хочу, чтобы он содержал только «world \n».
Как мне сделать это в командной строке, а не кодировать это на Java (вот почему вопрос здесь, а не на SO)?