Ответ 1
Новая строка добавляется echo
, а не перенаправлением. Просто переведите переключатель -n
в echo
, чтобы отключить его:
echo -n "foo" >> file.txt
echo -n "bar" >> file.txt
-n
не выводить конечную новую строку
Перенаправление в файл очень полезно для добавления строки в виде новой строки в файл, например
echo "foo" >> file.txt
echo "bar" >> file.txt
Результат:
foo
bar
Но можно ли перенаправить строку в ту же строку в файле?
Пример:
echo "foo" <redirection-command-for-same-line> file.txt
echo "bar" <redirection-command-for-same-line> file.txt
Результат:
foobar
Новая строка добавляется echo
, а не перенаправлением. Просто переведите переключатель -n
в echo
, чтобы отключить его:
echo -n "foo" >> file.txt
echo -n "bar" >> file.txt
-n
не выводить конечную новую строку
Альтернативный способ эхо-результатов в одну строку состоит в том, чтобы просто присваивать результаты переменным. Пример:
j=$(echo foo)
i=$(echo bar)
echo $j$i
foobar
echo $i $j
bar foo
Это особенно полезно, когда у вас есть более сложные функции, возможно, сложный оператор awk, чтобы вытащить определенную ячейку в строке, а затем соединить ее с другим набором.