我开始使用 GNU reutils 作为个人数据库。在本例中,它与书籍数据库有关。另外,我希望使用 FZF 在书籍之间导航,这样我就可以按标题搜索书籍并预览所有信息。
以下脚本运行良好,除非标题中存在单引号:
recsel -C books.rec -P "Title" | fzf --preview "recsel -e \"Title='\"{}\"'\" books.rec"
下面的表达式可以工作:-e "Title='My best book'"
下面这个则不会:-e "Title='It's a nice book'"
根据 GNU Recutils 文档,表达式必须采用格式-e "Field='Value'"
,所以我不知道如何实现这一点。值周围的单引号是这里的问题。我能做什么?
答案1
经过几个小时的阅读和测试,我找到了解决方案。这显然是我的代码的语法问题和语法错误recsel
。
该格式-e 'Field="Value"'
也适用(将单引号切换为双引号,反之亦然)。当我使用命令时,扩展(向左和向右)单引号的位置也有效fzf --preview
,所以这就是结果:
recsel -C books.rec -P Title | fzf --preview 'recsel -e Title=\"{}\" books.rec'