将引号替换为“``”和“''”

2023-12-08

我有一个包含很多内容的文档"标记,但我想将其转换为在 TeX 中使用。

TeX 使用 2 个 ` 标记作为开始引号,使用 2 个 ' 标记作为结束引号。

我只想在以下情况下对这些进行更改"以偶数出现在单行上(例如,有 2、4 或 6"已上线)。例如

"This line has 2 quotation marks."
--> ``This line has 2 quotation marks.''

"This line," said the spider, "Has 4 quotation marks."
--> ``This line,'' said the spider, ``Has 4 quotation marks.''

"This line," said the spider, must have a problem, because there are 3 quotation marks."
--> (unchanged)

我的句子永远不会跨行,因此不需要检查多行。

单引号很少,所以我可以手动更改它们。

我怎样才能转换这些?


这是我的一句台词,对我有用:

awk -F\" '{if((NF-1)%2==0){res=$0;for(i=1;i<NF;i++){to="``";if(i%2==0){to="'\'\''"}res=gensub("\"", to, 1, res)};print res}else{print}}' input.txt >output.txt

这段话有一个长版本,附有评论:

{
    FS="\"" # set field separator to double quote
    if ((NF-1) % 2 == 0) { # if count of double quotes in line are even number
        res = $0 # save original line to res variable
        for (i = 1; i < NF; i++) { # for each double quote
            to = "``" # replace current occurency of double quote by ``
            if (i % 2 == 0) { # if its closes quote replace by ''
                to = "''"
            }
            # replace " by to in res and save result to res
            res = gensub("\"", to, 1, res)
        }
        print res # print resulted line
    } else {
        print # print original line when nothing to change
    }
}

您可以通过以下方式运行此脚本:

awk -f replace-quotes.awk input.txt >output.txt
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将引号替换为“``”和“''” 的相关文章

  • Bash 中的动态变量名称

    我对 bash 脚本感到困惑 我有以下代码 function grep search magic way to define magic variable 1 ls tail 1 echo magic variable 1 我希望能够创建一
  • 在 Bash 中监控 tomcat,直到它完成部署 war 或应用程序

    怎么可能Tomcat在 bash 脚本中进行监控以检测它是否完成了战争或应用程序的部署 应用场景 Tomcat 开始于systemd Tomcat 开始于catalina sh 使用 Tomcat 管理器 Tomcat从Eclipse启动
  • 从 bash 变量中删除空格

    假设一个变量包含空格 换行符和制表符 后跟一些文本 为什么会这样 var var space strip var of everything but whitespace then remove what s left i e the wh
  • 使用简单数据结构在 Bash 脚本中进行深度优先搜索

    我正在尝试按照上面所述进行操作 我相对容易地设计了广度优先搜索 该脚本的目标是创建用户输入的具有一定深度和广度的目录结构 我正在尝试改变广度优先实现以支持深度优先搜索 这是我得到的 depthsearch local open seed l
  • 从 shell 脚本解析文件中的键/值的代码

    我有一个文件 需要使用 shell 脚本按键查找值 该文件如下所示 HereIsAKey This is the value 我怎样才能做类似的事情 MyVar Get HereIsAKey 然后 MyVar 应该等于 这就是值 键没有空格
  • 仅当程序成功时如何重定向程序的输出?

    当我的程序之一返回非零退出代码时 我想避免重定向其输出 这可能吗 如果可以 我该怎么做 我失败的尝试 echo foo gt file false cat gt file 这导致file是空的 我想要的行为只是调整file当程序成功时 我还
  • 为什么 bash for 循环出错?

    我正在尝试使用 for 循环运行以下代码 但出现语法错误 请帮忙 输入格式 输入的第一行包含一个整数N 表示整数的个数 下一行包含 N 个空格分隔的整数 它们构成数组 A read n sum 0 for i 1 i lt n i do r
  • 如何让 Rscript 在非交互式 bash 模式下返回状态代码

    我正在尝试以 bash 脚本的形式从以非交互方式运行的 Rscript 中获取状态代码 此步骤是较大数据处理周期的一部分 其中涉及 db2 脚本等 所以我在脚本sample sh中有以下内容 Rscript verbose no resto
  • 如何防止 Conda 默认激活基础环境?

    我最近在我的 Mac 上安装了 anaconda2 默认情况下 Conda 配置为在我打开新的终端会话时激活基本环境 我想要访问 Conda 命令 即我想要将 Conda 的路径添加到我的 PATHConda 在初始化时会执行此操作 所以没
  • 为什么我不能将 Unix Nohup 与 Bash For 循环一起使用?

    例如 此行失败 nohup for i in mydir fasta do myscript sh i done gt output txt bash syntax error near unexpected token do 正确的做法是
  • cron 作业不适用于 xwindow

    我在 crontab 中有以下行 1 xeyes 它不显示任何 xwindow 但相反 1 touch somefile txt 工作正常 尝试在谷歌上搜索但没有得到任何具体答案 如果您运行的命令使用 X 服务器 您必须告诉 cron 在哪
  • 如何在shell脚本中扩展相对路径

    我正在编写一个脚本来使用 bash 在 linux 2 6 上设置环境变量 因此该脚本包含如下命令 export SRC DIR export LIBPATH SRC DIR lib 问题是 当我尝试 echo LIBPATH 时 它显示
  • $@ 中 args 的 bash 参数大小写

    我有一个带有一长串可选参数的脚本 有些具有相关的值 Such as script first 2012 12 25 last 2012 12 26 copy remove script first 2012 12 25 因此有以下案例陈述
  • OS X bash:目录名

    我想创建一个简单的 bash 脚本来在 OS X 上启动 Java 程序 文件名 文件路径和直接工作文件夹都包含空格 当我这样做时 bin sh cd dirname 0 I get usage dirname path 我也尝试过在各种不
  • 如何从 tcl 脚本调用 bash 命令?

    Bash 命令可从交互式 tclsh 会话中获得 例如 在 tclsh 会话中 您可以 ls 代替 exec ls 但是 您不能有一个直接调用 bash 命令的 tcl 脚本 或者没有exec 如何使 tclsh 在解释 tcl 脚本文件时
  • awk 在Linux终端中输出类似表格或类似Excel的列?

    我做了一个长管子 最后是 awk print 5 t t 3 t 4 在 Linux 终端中 这些列用选项卡填充 第一列条目具有不同数量的字符 因此第二列结果并不完全垂直 怎样才能让桌子看起来更完美呢 尝试将结果通过管道传输到列 t awk
  • 寻找 shell 重定向交错行为的解释

    给定以下脚本 t sh bin bash if eq 0 then log if gt 0 then printf s n else cat fi tee a logged out else log if gt 0 then printf
  • 使用环境变量将参数传递给命令

    我正在尝试编写一个 bash 脚本 该脚本采用环境变量并将其传递给命令 所以如果我有类似的东西 export OUT a arg1 b arg2 0 arg2 1 我想在我的 bash 脚本中执行以下操作
  • 发送电子邮件的 Google Apps 脚本语法错误。无法识别我的问题

    我正在尝试让 Google 工作表从工作簿中另一张工作表的长列表中发送个性化电子邮件 我使用了教程 因为我是所有编码语言的认证新手 但 AppScript 告诉我第 4 行有语法错误 我一生都无法弄清楚我做错了什么 但我确信当由具有这些合法
  • 疯狂的 crond 行为。不断使 bash 进程失效

    我有一个看起来像这样的 crontab SHELL bin bash PATH sbin bin usr sbin usr bin MAILTO root HOME 0 59 var www html private fivemin zda

随机推荐

  • 获取 Facebook 页面的访问令牌 - WPF

    我正在开发一个 WPF 应用程序 需要在 facebook 页面的墙上发布内容 并且没有登录窗口 好吧 我想获取我的 Facebook 页面的访问令牌 这是我的代码 var fb new FacebookClient string toke
  • 在 WebView 中单击链接时加载本地 HTML 文件

    我有一个加载本地 HTML 文件的 WebView 如下所示 webView loadRequest NSURLRequest requestWithURL NSURL fileURLWithPath NSBundle mainBundle
  • java中只接受单个数字

    我正在编写一个简单的程序 它接受多个输入并显示最大的然后是第二大的 我唯一的问题是我希望程序只接受个位数 我知道这又回到了基础 但请耐心听我说 到目前为止我写的代码是 import javax swing JOptionPane publi
  • 在 Android 中运行时更新视图

    这个例子非常简单 我想让用户通过显示文本 canvas drawText 来了解应用程序正在做什么 然后 我的第一条消息出现 但其他消息则不出现 我的意思是 我有一个 setText 方法 但它不更新 onCreate Bundle bun
  • Gradle 构建失败并提示:找不到 org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm:0.3.3

    我正在使用 Android Studio Canary 构建一个新项目 在设置 jet pack compose 的依赖项时 我将其作为构建输出 Execution failed for task app processDebugAndro
  • TKinter 样式和 Treeview 点击问题

    我在 TKinter 中的样式上遇到了困难 我的主要问题是您无法单击树视图中的任何内容 要进行测试 只需按 按测试 按钮即可 由于某种原因 style theme create 接管了我的树视图小部件 无论我尝试什么 我似乎都找不到解决方案
  • 如何检查Azure Function是否仍在运行

    我遇到一种情况 我必须定期调用 Azure 函数 当我调用该函数时 我需要检查天蓝色函数的状态 如果Azure函数正在运行 那么我需要推迟调用直到它完成 我正在尝试查看电子邮件队列 当电子邮件传入时 我需要使用 Amazon SES 发送电
  • 如何在 Obj-C 中打开和读取资源分支

    我有一个旧的 OS9 文件 其中包含带有 CODE 资源的资源叉 我想从 Obj C 读取该文件 我用类似的东西 NSFileHandle codeFile NSFileHandle fileHandleForReadingAtPath m
  • 如何在 python 中生成 nginx 安全链接

    如何使用 python 为 nginx 中的安全链接模块建立链接 我希望使用 nginx 来提供具有过期链接的安全文件 链接到 Nginx 维基 shadfc 答案中的代码有效 为了Python 3 需要进行一些修改 import base
  • 用 PHP 解决验证码问题?个人挑战?

    我想看看我是否可以使用 PHP 解决验证码 以应对一些个人挑战 没什么太难的 同一行中的单词 始终使用相同颜色的单词等 这是一个示例 http www simplyshows com img jpg 只是想看看会有多难 我的问题是 是否有基
  • 确定构造函数、初始化和重置方法的任务的最佳实践是什么

    尽管我是用 Java 设计的 但这是一个常见的 OOP 问题 我并不是想解决某个特定问题 只是想思考一些设计原则 根据我的经验 我养成了将对象设置分为三个阶段的习惯 目标是最大限度地减少 额外的工作 混乱的代码和受损的可扩展性 建造 所需采
  • subprocess.Popen 命令(反词)在 shell 与 Web 应用程序中产生不同的输出

    我让 Django 在标准 WSGI Apache httpd 组合上运行 我注意到当我在 shell 中运行代码与在浏览器中运行代码时 文件输出是不同的 我已经隔离了其他所有内容 但仍然遇到同样的问题 这是代码 def test anti
  • 如何将 JavaPairDStream 的结果写入 Spark Streaming 上的输出 kafka 主题?

    我正在寻找一种在输出 kafka 主题中编写 Dstream 的方法 只有当微批量 RDD 吐出一些东西时 我在 Java8 中使用 Spark Streaming 和 Spark streaming kafka 连接器 都是最新版本 我无
  • delphi 7中如何读取资源文件?

    我已经制作了资源文件 并已将其编译并与我的 delphi 单元链接 但是从该资源文件读取时我遇到了问题 implementation R dfm R stuff res stuff rc procedure TForm1 FormCreat
  • Firebase getDocument(querySnapshot)不起作用

    我面临着 Firebase 快照的问题 我已成功将我的 Fierbase 帐户与我的 Xcode 项目连接起来 我能够更改 Firestore 云中的数据 但我读不懂 这是我的功能 class UserService static func
  • 色彩空间转换

    我正在尝试编写一个程序 在用户输入图像后 他可以看到一些小的图像处理 更具体地说 我想将图像从 RGB 转换为 CMYK 和 YUV 然后在屏幕上仅显示这些颜色空间中的一个分量 即仅来自 CMY 的青色或来自 YUV 的 U 我设法实现了转
  • 在 iPhone 的 Objective-C 中解析 Java 属性文件

    我正在 iPhone SDK 中寻找一种读取属性文件 不是 XML 风格 的方法 例如 a comment a comment a a string b a string with escape sequences t n r space
  • Windows 上的 libgit2 可能存在 Rugged gem 安装问题

    我正在使用 Windows 和我的Gemfile有这一行 gem rugged 当我跑步时bundle install它给了我这个错误 Installing rugged 0 21 0 with native extensions Gem
  • java中的ArrayList打印最后插入的值?

    我有以下java类 package com picvik model import java util Date public class ViewAlbum private Integer albumid private String a
  • 将引号替换为“``”和“''”

    我有一个包含很多内容的文档 标记 但我想将其转换为在 TeX 中使用 TeX 使用 2 个 标记作为开始引号 使用 2 个 标记作为结束引号 我只想在以下情况下对这些进行更改 以偶数出现在单行上 例如 有 2 4 或 6 已上线 例如 Th