Как добавить текст в начало строки?

У меня есть текстовый файл, и я хочу добавить текст в первую строку. Я попробовал что-то вроде этого:

sed -i '1i\'"string" file 

Однако это вставляет новую строку в текстовый файл.

  • Упорядочить текстовый файл одним словом в строке
  • транспонировать наборы из трех строк в столбцы
  • Сравнение двух файлов и печать содержимого
  • Десятичный номер преобразования формы x.xx в 0x.xx, sed?
  • Копировать текст, содержащийся только в кавычках "" из файла
  • Как выровнять столбец в текстовом файле
  • Добавление строки в таблицу
  • UNIX: нужно заменить последнюю строку на файле, а также удалить лишнюю пустую строку в конце
  • 2 Solutions collect form web for “Как добавить текст в начало строки?”

    Это должно работать с GNU sed:

     sed -i '1s/^/string/' file 

    он отличается от вашего решения тем, что он не добавляет новую строку.

    контрольная работа

    Перед запуском команды содержимое файла таково:

     some text here already 

    После выполнения команды:

     stringsome text here already 

    Другой способ (похожий на мой ответ в этом вопросе ):

     printf 'string' | paste -d'\0' - infile > outfile 

    или:

     printf string | cat - infile > outfile 

    или:

     { printf string; cat infile; } > outfile 
    Linux и Unix - лучшая ОС в мире.