我正在编写一个简单的脚本,它将获取指向 Evernote 在线笔记的 URL,并将它们转换为evernote:///
协议。当我在正则表达式测试器中尝试它时,我正在使用的正则表达式匹配并正确修改了 URL(我正在使用 OS X 的模式)。但是,当我将它与 sed 一起使用时,它只返回原始字符串。
echo "https://www.evernote.com/shard/s2/nl/227468/1875e55a-e512-4cf9-9b18-9e93c6a27359/" | sed 's#https?:_/_/www_.evernote_.com_/shard_/(..)_/nl_/(......)_/(.+_/)#evernote:_/_/_/view_/$2_/$1_/$3$3#'
知道为什么这不起作用吗?谢谢!
堡
[编辑:如果有人感兴趣,这是针对键盘大师宏的 AppleScript 位:
set theURL to the clipboard
set ENcode to "echo \"" & theURL & "\" | sed -E 's#https?://www.evernote.com/shard/(..)/nl/(.*)/(.+/)#evernote:///view/\\2/\\1/\\3\\3#' | pbcopy"
do shell script ENcode
感谢@DreadPirateShawn 帮助我修复正则表达式。]