В скрипте bash для Linux, как печатать файл в той же строке? - PullRequest
4 голосов
/ 09 января 2012

В сценарии командной оболочки Linux, как печатать файл в той же строке?

На каждой итерации

Я использовал

 echo "$variable1"  >> file_name, 

 echo "$variable2"  >> file_name, 

, но echo вставил новую строку, чтобы она стала

 $v1

 $v2 

, а не

     $v1 \tab  $v2

"\ c" не может есть новую строку.

этот пост Сценарий BASH-эха для вывода на той же строке

не помогает.

спасибо

Ответы [ 4 ]

6 голосов
/ 09 января 2012

Прочитав этот вопрос, я решил, что вы ищете echo -n.

3 голосов
/ 09 января 2012

Если вы ищете одну вкладку между переменными, то printf будет хорошим выбором.

printf '%s\t%s' "$v1" "$v2" >> file_name

Если вы хотите, чтобы это было так же, как в вашем примере, где вкладка дополнена пробеломстороны:

printf '%s \t %s' "$v1" "$v2" >> file_name
2 голосов
/ 09 января 2012

есть несколько вариантов:

  1. echo -n foo bar Это просто, но может не работать на некоторых старых системах UNIX, таких как HP-UX или SunOS. Вместо этого будет напечатан «-n», а также остальные аргументы и новая строка.
  2. echo -e "foo bar\c". Значение \c имеет значение: « больше не выводит ». Мне лично это решение не нравится, но некоторые мастера UNIX используют его.
  3. printf %b "foo bar" Мне больше всего нравится это решение. Он достаточно портативный и гибкий.
1 голос
/ 09 января 2012

Используйте echo -n для обрезки новой строки. Посмотрите, работает ли это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...