On 29/06/15 11:08, jd1008 wrote:
On 06/28/2015 07:02 PM, Stephen Davies wrote:
On 29/06/15 10:13, jd1008 wrote:
On 06/28/2015 06:38 PM, jd1008 wrote:
Hi,
I have text files made of paragraphs of text, separated by
blank lines.
Each "paragraph" is information about a different item.
In need to sort these paragraphs based on the first line
of each paragraph.
Need some hints how to accomplish this.
Thanx.
Forgot to say that each paragraph is made of multiple lines,
but a paragraph's lines do not contain a blank line.
I would just concatenate lines until the blank is reached then write out the
concatenated line.
The result can then be sorted.
If you want to revert the result to paragraphs, just reverse the process
outputting lines of up to N characters ending in a space.
HTH,
Stephen
Too much work to break the one line back into multiple lines because the lines
are of different lengths.
Too many files also. Also, to keep original lines of a paragraph unmangled, I
would have to first
do something like append each line of a paragraph with a delineating character
to be used by something
like sed to change that character into a newline.
Adding a "line separator" to each input line is a trivial extension to simply
concatenating.
The number of input files is irrelevant; just loop through them all as
awk/gawk inputs and combine the outputs using >> and then sort.
If you also want to recreate the original file structure at the end, you could
also add a "file name separator" and a file name to the end of each
concatenated line.
Feed the sorted output back into awk/gawk to rebuild the files but that, of
course, destroys the sort sequence.
--
users mailing list
users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
Have a question? Ask away: http://ask.fedoraproject.org