Просто для удовольствия, вот решение с использованием ed
, в котором нет проблемы не работать с пустым файлом. Вы можете поместить его в скрипт оболочки, как и любой другой ответ на этот вопрос.
ed Test <<EOF
a
.
0i
<added text>
.
1,+1 j
$ g/^$/d
wq
EOF
Приведенный выше скрипт добавляет текст для вставки в первую строку, а затем соединяет первую и вторую строки. Чтобы избежать выхода из ошибки при недопустимом соединении, сначала создается пустая строка в конце файла, а затем удаляется, если он все еще существует.
Ограничения: Этот скрипт не работает, если <added text>
точно равен одному периоду.