Как сохранить вывод stdout, если в нем есть тест?

Доброе время суток в общем вопрос такой
как сохранить файл или перенаправить на экран вывод текста от потока программы если в нем есть любой текст?

echo -e "hello world\nqqq\naaa" | sed -n '/^hello/ p' не подходит тк после \ sed не видит остальных частей текста
  • Вопрос задан
  • 100 просмотров
Пригласить эксперта
Ответы на вопрос 3
@Hanharr
Если вам нужна проверка на то пуста строка или нет, то можно так:

echo -e "hello world\nqqq\naaa" | grep -v "^$"
Ответ написан
echo -e "hello world\nqqq\naaa" | tee stdout.log
tee дублирует вывод на stdout и в файл
Ответ написан
saboteur_kiev
@saboteur_kiev
software engineer
Сохранить в файл:

echo -e "hello world\nqqq\naaa" > file.txt

Сохранить в переменную:
MYVAR=$(echo -e "hello world\nqqq\naaa")
echo "$MYVAR" | sed ...
echo "$MYVAR" | grep ...


Ну и ваша команда явно означает
echo -e "hello world\nqqq\naaa" | sed -n '/^hello/ p'

Вывести только те строки, в которых есть hello в начале строки. Понятно, что sed их урезает. Вы скажите какой конечный результат вы вообще хотите.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы