Differences between revisions 1 and 5 (spanning 4 versions)
Revision 1 as of 2008-05-24 07:43:08
Size: 448
Editor: pgas
Comment: How do I prepend a text to a file (the opposite of >>)?
Revision 5 as of 2009-01-09 14:09:01
Size: 651
Editor: 212
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
[[Anchor(faq90)]] <<Anchor(faq90)>>
Line 3: Line 3:
You cannot do it with bash redirections alone; the opposite of `>>` does not exist....
Line 4: Line 5:
You cannot do it with bash redirections only, ie the opposite of >> does not exist.

You can use an editor:
To insert content at the beginning of a file, you can use an editor:
Line 9: Line 8:
i 1i
Line 16: Line 15:
you can use things like: Please note that this will not work if the file is empty. ed will also add a newline character to the end of the file if it's missing.

Or you can rewrite the file, using things like:
Line 22: Line 23:
or a gazillion of other solutions or lots of other solutions.

How do I prepend a text to a file (the opposite of >>)?

You cannot do it with bash redirections alone; the opposite of >> does not exist....

To insert content at the beginning of a file, you can use an editor:

ed -s file << EOF
1i
header line 1
header line 2
.
w
EOF

Please note that this will not work if the file is empty. ed will also add a newline character to the end of the file if it's missing.

Or you can rewrite the file, using things like:

{ echo line; cat file ;} >tmpfile && mv tmpfile file
echo line | cat - file > tmpfile && mv tmpfile file

or lots of other solutions.

BashFAQ/090 (last edited 2017-02-14 19:48:12 by GreyCat)