Я не хочу:
$ cat file > dummy; $ cat header dummy > file
Я хочу подобный команде ниже, но началу, не в конец:
$ cat header >> file
Вы не можете добавить в начало файла, не перезаписав файл. Первый способ, который вы дали, - это правильный способ сделать это.
Благодаря правильному поисковому запросу!
echo "include .headers.java\n$(cat fileObject.java )" > fileObject.java
Затем с файлом:
echo "$(cat .headers.java)\n\n$(cat fileObject.java )" > fileObject.java
Невозможно добавить в начало файла, не прочитав все содержимое файла и не записав новый файл с добавленным текстом + содержимым файла. Думайте о файле в Unix как о потоке байтов - его легко добавить в конец потока, но нет простой операции «перемотать» поток и записать в него. Даже операция поиска в начало файла перезапишет начало любых данных, которые вы пишете.