Awk评估一个变量表达式但不是两次相同的表达式

时间:2015-01-29 16:59:06

标签: html regex awk

我正在尝试将文件拆分为单独的文件,并在每个文件中插入HTML导航元素。该脚本正确地将较大的文件拆分为“Volume”并正确评估n - 1以构造文件名。

awk 'BEGIN{
        f="\<html\> \<head\>Jury Transcript Volume 1\</head\>\<body\>\<h2 align=\"center\"\>Jury Transcript Volume 1\</h2\>"; 
        RS = "Volume"
    }
    {n++}
    {
        x="volume-01-page-" n - 1 ".html";
        print f>x;
    }
    {print > x}
    {
        y="\<span align\"left\"\>\<a href=\"jury-volume-01-page-\" n - 1 \.\"html\"\>Prev\</a\>\</span\>\<span align=\"right\"\>\<a href=\"jury-volume-01-page-\" n - 1 \.\"html\"\>Next\</a\>\</span\>";
        print y>x;
    }' jury-volume-01-base-prep-double.txt

制作:jury-volume-01-page-作为链接。

当我尝试不转义HTML链接上的引号时,会在导航链接的第一个“html”文件扩展名之前的句点中给出语法错误。

创建单独文件(成功)的表达式和导航链接的表达式失败。

如何在当前页面之前和页面之后创建成功的页面计算并将该结果插入导航链接?

将会关闭HTML代码,但我认为插入导航链接的答案也足以满足该样板。

谢谢!

帕特里克

1 个答案:

答案 0 :(得分:1)

您不应该转义分隔awk字符串的引号,只能转义您希望成为HTML一部分的引号。点应位于字符串内。它也没有必要转义字符串中的><个字符。

y="<span align=\"left\"><a href=\"jury-volume-01-page-" n - 1 ".html\">Prev</a></span><span align=\"right\"><a href=\"jury-volume-01-page-" n - 1 ".html\">Next</a></span>";