Просто из любопытства, как бы вы добавили текст в файл без создания новой строки?
Мартин Хансен
11
Это зависит от последней добавленной строки, а не от вашей текущей команды. Когда вы выполняете файл $ echo "foobar" >>, новая строка уже там. Если вы выполните $ echo -n "foobar" >> file, вы не добавите новую строку в конец строки, поэтому вы будете писать в той же строке.
user897079
9
Это не работает при записи в системный файл в среде sudo. Вы не можете использовать sudo >>. В остальном все работает нормально.
Деннис
4
Используйте команду "sed" следующим образом: ---------- sed -i "$ a some text" somefile.txt --------- -i: редактировать файлы на месте, $ найти конец файла, a: append
Лунф
9
@Dennis Это из-за того, как анализируется командная строка. 'sudo abc >> def' будет 'sudo abc', а затем '>> def' выводом. Чтобы использовать sudo для всего бит 'abc >> def', вы должны сделать что-то вроде этого: sudo sh -c "echo 'VNCSERVERS = \" 1: root \ "' >> / etc / sysconfig / configfile" (обратите внимание, что внутренние двойные кавычки должны быть экранированы)
vi
илиemacs
. Вы знаете, как их использовать? Я не пытаюсь быть саркастичным.Ответы:
Самый простой способ перенаправить вывод эха на >>
источник