File:
TABLE1
1234
9555
87676
2344
Expected output:
Description of the following table:
TABLE1
1234
9555
87676
2344
File:
TABLE1
1234
9555
87676
2344
Expected output:
Description of the following table:
TABLE1
1234
9555
87676
2344
Actually echo
and cat
are enough to do what you want :
echo "Description of the following table:" | cat - file
The -
argument tells cat
to read from stdin
.
cat
operation. It sometimes looks like it doesn't if cat
has finished outputting its text but your console is still busy displaying (which can take much more time)
– Aaron
Feb 21 '22 at 17:42
echo "Description of the following table:" | cat - file > file
. EDIT: this does the trick! echo "Description of the following table:" | cat - file | tee file
– Kiteloopdesign
Aug 23 '22 at 09:33
With sed
:
$ sed -e '1i\
Description of the following table:
' <file
Description of the following table:
TABLE1
1234
9555
87676
2344
printf "%s\n" 1 i "Description of the following table:" . w | ed filename
The printf
outputs ed
commands (one per line) which are then piped into ed filename
.
ed
edits the file as instructed:
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
performs a real in-place edit, not write-to-temp-file-and-move like sed
and most other text editing tools. The edited file keeps the same inode in the filesystem.
ed
can do pretty much everything that sed
can. sed
is the stream-oriented clone of ed
, after all. GNU ed
's man page is almost useless, but full documentation is available with info ed
(or bettter yet, pinfo ed
).
– cas
May 06 '16 at 11:43
-s
(--silent
, --quiet
) option. and/or just redirect ed
's output to /dev/null as you would with any other program the outputs stuff you don't want to see.
– cas
Feb 21 '22 at 00:52
The awk option would be :
gawk '
BEGIN{print "Description of the following table:"}
{print $0}' file > temp && mv temp file
A bit more work than sed here because sed has got an in-place edit option -i by which you could directly write to file.
awk
tag, I would argue that it is closely related but not a duplicate. – Thor May 06 '16 at 11:43