[sword-devel] shell help
Chris Little
chrislit at crosswire.org
Thu Nov 19 01:11:29 MST 2009
Here's a chunk of perl that can do what you want. (Sorry, I haven't
actually touched awk in about 15 years.) It takes the filename of your
chosen Tregelles edition as its argument and writes to tregelles.imp.
If you can use OSIS, I have a script for that, too. Or I could send an
OSIS doc that incorporates a bunch of corrections to the available text.
--Chris
#!/usr/bin/perl
open TREG, "<:utf8", @ARGV[0];
open TOUT, ">:utf8", "tregelles.imp";
while (<TREG>) {
$blob .= $_;
}
$blob =~ s/(<Page[^>]+><Title[^>]+>)\s*(\$\$\$[^\n]+\n)(<SB>)/$3\n$2$1\n/sg;
$blob =~ s/(\n\$\$\$[^\n]+\n)(<SB>)/$2\n$1/sg;
print TOUT $blob;
Troy A. Griffitts wrote:
> Hey guys,
>
> I'm trying to setup a reproducible process to convert the Tregelles data
> to a SWORD imp data time. I have a series of sed commands to replace
> tags, etc.... (yeah, yeah. I'm sure perl could do it in one line...)
>
> But anyway, I've got one problem left that I could use some help with:
>
> Here is a worst case real sample pattern:
>
>
> ...υντελείας τοῦ αἰῶνος.
>
> <Page = 119><Title = ΕΥΑΓΓΕΛΙΟΝ ΚΑΤΑ ΜΑΡΚΟΝ.>
> $$$Mark.1.1
> <SB>Ἀρχὴ τοῦ εὐαγγελίου Ἰησοῦ χριστοῦ υἱοῦ θεοῦ·
>
>
> It needs to become:
>
> ...υντελείας τοῦ αἰῶνος.
> <SB>
>
> $$$Mark.1.1
> <Page = 119><Title = ΕΥΑΓΓΕΛΙΟΝ ΚΑΤΑ ΜΑΡΚΟΝ.>
> Ἀρχὴ τοῦ εὐαγγελίου Ἰησοῦ χριστοῦ υἱοῦ θεοῦ·
>
> So, the rules in pros:
>
> <SB> which start a new line must be moved to the end of the
> non-zero-length line preceding the previous $$$
>
> ^<Page = [^>]*><Title = [^>]*>$ lines must be moved down just below the
> next $$$ line.
>
>
> Any help would be appreciated. Preferably with something like awk (I
> don't think sed can work multiline can it?) I guess perl would be ok too :)
>
>
> Thanks for any help,
>
> -Troy.
>
>
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page
More information about the sword-devel
mailing list