07-15-2011
Hi.
Two thoughts:
1) If you have only one line to add, then it is, in effect, an already sorted file, so you can use the merge option in sort with your already-sorted large file. That's effectively a high-speed copy.
2) (Old-timers will remember this). You could patch in-place by replacing exactly one line in the file with a pointer to an auxiliary file that holds the line you have extracted from the main file, and the new line. You would need a special reading routine that recognizes the pointer, reads the auxiliary file, and comes back to read the main file. It would be fast, but tricky, because you have to re-write in-place. We essentially did that when we programmed in absolute octal and we needed to patch code.
Good luck ... cheers, drl
This User Gave Thanks to drl For This Post:
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I need to insert a file called temp_impact (which has about 15 lines in it) to a file called 11.23cfg starting at line 33. I searched the forums and found the
sed '34i\
test' 11.23cfg > newfile
That will enter word test at the appropriate line, but i need the entire file dumped there. Any... (4 Replies)
Discussion started by: insania
4 Replies
2. Shell Programming and Scripting
how to insert a extra line in a text file using a sh command
iam trying to think of a way to add a extra line but without deleting the whole text
do anyone have any ideas (2 Replies)
Discussion started by: bhaviknp
2 Replies
3. Shell Programming and Scripting
So I need to write lines into line X of file X.
I can get the file by doing:
cfgnumber=$(cat -n -comm.cfg| grep -i "servicegroup_name 24x7-comunicacions")
echo $cfgnumber
it outputs the Line where it finds now I need to start writing something right bellow that line.
thanks (10 Replies)
Discussion started by: 4scriptmoni
10 Replies
4. Shell Programming and Scripting
Dear Folks :),
I am new to UNIX scripting and I do not know how can I insert some text in the first column of a UNIX text file at command promtp.
I can do this in vi editor by using this command :g/^/s//BBB_
e,g I have a file named as Test.dat and it containins below text:
michal... (4 Replies)
Discussion started by: Muhammad Afzal
4 Replies
5. Shell Programming and Scripting
I can't seem to get sed to allow me to insert text in the first line of an empty file. I have a file.txt that is a 0 byte file. I want sed to insert " fooBar" onto the first line. I've tried a few options and nothing seems to work. They work just fine if there's text in the file tho. Help? (4 Replies)
Discussion started by: DC Slick
4 Replies
6. Shell Programming and Scripting
sed '1r file.txt' <source.txt >desti.txt
This example will insert 'file.txt' between line 1 and 2 of source.txt.
sed '0r file.txt' <source.txt >desti.txt
gives an error message.
Does anyone know how 'sed' can insert 'file.txt' before the first line of source.txt? (18 Replies)
Discussion started by: psve
18 Replies
7. Shell Programming and Scripting
Hello,
I am looking to automate a task - which is updating an existing access control instruction of a server and making sure that the attributes defined in the instruction is in sorted order. The instructions will be of a specific syntax.
For example lets assume below listed is one of an... (6 Replies)
Discussion started by: sanjayroc
6 Replies
8. UNIX for Dummies Questions & Answers
I want to insert a line with text after the 9th line of a text file. How would I do this using sed or awk? (2 Replies)
Discussion started by: lost.identity
2 Replies
9. Shell Programming and Scripting
I have a test file that I want to read and insert only certain lines into the
the table based on a filter.
1. Rread the log file 12 Hours back Getdate() -12 Hours
2. Extract the following information on for lines that say "DUMP is
complete"
A. Date
B. Database Name
C.... (2 Replies)
Discussion started by: JolietJake
2 Replies
10. UNIX for Beginners Questions & Answers
Hi All,
I am using UNix Sun OS sun4u sparc SUNW,SPARC-Enterprise
My intention is to insert a line of text after 13th line of every file inside a particular directory.
While trying to do it for a single file , i am using sed
sed '3 i this is the 4th line' filename
sed: command garbled: 3... (5 Replies)
Discussion started by: gotamp
5 Replies
LEARN ABOUT LINUX
git-mailinfo
GIT-MAILINFO(1) Git Manual GIT-MAILINFO(1)
NAME
git-mailinfo - Extracts patch and authorship from a single e-mail message
SYNOPSIS
git mailinfo [-k|-b] [-u | --encoding=<encoding> | -n] [--[no-]scissors] <msg> <patch>
DESCRIPTION
Reads a single e-mail message from the standard input, and writes the commit log message in <msg> file, and the patches in <patch> file.
The author name, e-mail and e-mail subject are written out to the standard output to be used by git am to create a commit. It is usually
not necessary to use this command directly. See git-am(1) instead.
OPTIONS
-k
Usually the program removes email cruft from the Subject: header line to extract the title line for the commit log message. This option
prevents this munging, and is most useful when used to read back git format-patch -k output.
Specifically, the following are removed until none of them remain:
o Leading and trailing whitespace.
o Leading Re:, re:, and :.
o Leading bracketed strings (between [ and ], usually [PATCH]).
Finally, runs of whitespace are normalized to a single ASCII space character.
-b
When -k is not in effect, all leading strings bracketed with [ and ] pairs are stripped. This option limits the stripping to only the
pairs whose bracketed string contains the word "PATCH".
-u
The commit log message, author name and author email are taken from the e-mail, and after minimally decoding MIME transfer encoding,
re-coded in the charset specified by i18n.commitencoding (defaulting to UTF-8) by transliterating them. This used to be optional but
now it is the default.
Note that the patch is always used as-is without charset conversion, even with this flag.
--encoding=<encoding>
Similar to -u. But when re-coding, the charset specified here is used instead of the one specified by i18n.commitencoding or UTF-8.
-n
Disable all charset re-coding of the metadata.
--scissors
Remove everything in body before a scissors line. A line that mainly consists of scissors (either ">8" or "8<") and perforation (dash
"-") marks is called a scissors line, and is used to request the reader to cut the message at that line. If such a line appears in the
body of the message before the patch, everything before it (including the scissors line itself) is ignored when this option is used.
This is useful if you want to begin your message in a discussion thread with comments and suggestions on the message you are responding
to, and to conclude it with a patch submission, separating the discussion and the beginning of the proposed commit log message with a
scissors line.
This can enabled by default with the configuration option mailinfo.scissors.
--no-scissors
Ignore scissors lines. Useful for overriding mailinfo.scissors settings.
<msg>
The commit log message extracted from e-mail, usually except the title line which comes from e-mail Subject.
<patch>
The patch extracted from e-mail.
GIT
Part of the git(1) suite
Git 1.8.5.3 01/14/2014 GIT-MAILINFO(1)