【问题标题】:Awk evaluates one variable expression but not the same expression twiceawk 对一个变量表达式求值,但对同一个表达式求值两次
【发布时间】:2015-03-29 00:14:41
【问题描述】:

我正在尝试将文件拆分为单独的文件并在每个文件中插入 HTML 导航元素。该脚本正确拆分“卷”上的较大文件并正确评估 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 代码,但我认为插入导航链接的答案也足以满足该样板。

谢谢!

帕特里克

【问题讨论】:

    标签: html regex awk


    【解决方案1】:

    您不应该转义分隔 awk 字符串的引号,只能转义您希望成为 HTML 一部分的引号。点应该在字符串内。也不必转义字符串中的&gt;&lt; 字符。

    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>";
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-04
      • 1970-01-01
      • 1970-01-01
      • 2013-03-30
      • 1970-01-01
      • 2020-08-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多