Файл:
TABLE1 1234 9555 87676 2344
Ожидаемый результат:
Description of the following table: TABLE1 1234 9555 87676 2344
С sed
:
$ sed -e '1i\ Description of the following table: ' <file Description of the following table: TABLE1 1234 9555 87676 2344
На самом деле echo
и cat
достаточно, чтобы делать то, что вы хотите:
echo "Description of the following table:" | cat - file
Параметр -
указывает, что cat
читает stdin
.
printf "%s\n" 1 i "Description of the following table:" . w | ed filename
Команда printf
выводит команды ed
(по одной в строке), которые затем передаются в ed filename
.
ed
редактирует файл в соответствии с инструкциями:
1 # go to line 1 i # enter insert mode Description of the following table: # text to insert . # end insert mode w # write file to disk
BTW, ed
выполняет реальное редактирование на месте, а не запись в темп-файл и перемещение, как sed
и большинство других инструментов для редактирования текста. Измененный файл сохраняет тот же индекс в файловой системе.
Опция awk будет:
gawk ' BEGIN{print "Description of the following table:"} {print $0}' file > temp && mv temp file
Немного больше работы, чем sed, потому что у sed есть опция редактирования на месте – i, с помощью которой вы можете напрямую писать в файл.