让我们考虑以下记录文件
Name: John
Text: It's me!
Name: Jane
Text: Hello
以下命令可以完美选择第二条记录
recsel -e "Text = 'Hello'" test.rec
但如何选择第一个呢?
recsel -e "Text = 'It\'s me!'" test.rec
即使根据文档(第 3.5.2.2 节“字符串文字”)这是正确的语法。
我正在使用 GNU Recutils 版本 1.9。
答案1
这实际上是 shell 引用的问题,而不是recsel
具体的问题。
记录文本!
中的 会增加额外的复杂性(至少在交互式 bash shell 中) - 如果没有它,您可以在双引号内使用转义双引号,从而删除内部任何单引号的特殊含义。关闭历史扩展来演示:
$ set +o histexpand
$ recsel -e "Text = \"It's me!\"" test.rec
Name: John
Text: It's me!
否则,您可以使用外部单引号,在文字单引号周围关闭并重新打开它们:
$ recsel -e 'Text = "It'\''s me!"' test.rec
Name: John
Text: It's me!