用 tftp 的正则表达式替换字符串

Replace string by regex for tftp

我想使用 tftp-hpa 文件重映射功能(参见 the man page)。它使用正则表达式,但功能不多。我想要的是当客户端发送 foo 的请求时,服务器发送 client_IP/foo。目前我有这个规则:

r foo \i/foo

但是正如您所猜到的,它只对 foo 有效,而我希望它在任何请求下都能正常工作。我已经试过了:

r /.*/ \i//.*/

但是没用。由于文档和示例不多,我不知道该尝试什么,所以也许您可以提出一些建议。 (所以,是的,我知道这不是一个真正的编程问题,但作为程序员,你知道正则表达式,也许你会得到很好的答案)

您需要将匹配的字符串包含到替换中。括号标记位置匹配,从 1:

开始
r /(.*)/ \i\//

应该可以解决问题(未验证)

看起来您需要使用替换模式:如文档中所述,[=11=] 代表 "entire string matched by the regex"。所以尝试:

r .* \i/[=10=]