gpt4 book ai didi

regex - 等效于 Ack : AND operator + -interpret switch 中的 "mdfind"查询

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:36:25 25 4
gpt4 key购买 nike

我正在尝试修改 Brett Terpstra 的得心应手 QuickQuestion script对于我的 Linux 机器。 Ack 等效于以下 mdfind 命令:

mdfind -onlyin "$NOTESDIR" "filename:.$NOTESEXT AND filename:\"$NOTESPRE\" AND ${INPUT%\?}"
...
echo "`mdfind -onlyin \"$NOTESDIR\" -interpret \"filename:.$NOTESEXT AND filename:$NOTESPRE AND ${INPUT%\?}\"`"

我似乎无法正确处理 AND 部分。我知道必须使用括号,因为 Ack 是 Perl。但是例如 (?="$NOTESPRE")(?="$INPUT") 给出了错误。

此外,我不确定如何处理第二行的 -interpret 开关。

对如此简单的查询感到困惑...感谢您的帮助!

最佳答案

双重先行需要考虑一系列的事情,所以你需要在它们的模式中添加通配符,例如:

>>echo "foo bar \$NOTESPRE \$INPUT baz" | ack "^(?=.*$NOTESPRE)(?=.*$INPUT).*$"

返回:

foo bar $NOTESPRE $INPUT baz

如果您需要在特定目录中搜​​索包含此行的文件,只需在命令行中指定目录即可:

ack "^(?=.*$NOTESPRE)(?=.*$INPUT).*$" path\to\directoryToSearch

-interpret 在正则表达式中没有直接并行。

关于regex - 等效于 Ack : AND operator + -interpret switch 中的 "mdfind"查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17623280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com