Aquí hay uno ejemplo :
set htmlString to "This is a link: <a href=\"https://duck.com\">link</a>"
set mdString to do shell script "/usr/bin/sed -E -e 's|<a href=\"|[link](|g' -e 's|\">link</a>|)|g' <<< " & htmlString's quoted form
Resultado:
"This is a link: [link](https://duck.com)"
Esto también se puede bajar sin el uso de la do shell script
comando , como en este ejemplo :
set htmlString to "This is a link: <a href=\"https://duck.com\">link</a>"
set htmlString to findAndReplaceInText(htmlString, "<a href=\"", "[link](")
set htmlString to findAndReplaceInText(htmlString, "\">link</a>", ")")
on findAndReplaceInText(theText, theSearchString, theReplacementString)
set AppleScript's text item delimiters to theSearchString
set theTextItems to every text item of theText
set AppleScript's text item delimiters to theReplacementString
set theText to theTextItems as string
set AppleScript's text item delimiters to ""
return theText
end findAndReplaceInText
Resultado:
"This is a link: [link](https://duck.com)"
Si This is a link: <a href="https://duck.com">link</a>
está en un archivo o en el portapapeles El escapando de se hace automáticamente al asignarlo a un variable . A continuación, sólo hay que escapar de la "
en el sed
comando como se muestra en el ejemplo arriba.
Otros ejemplos :
Si This is a link: <a href="https://duck.com">link</a>
en un archivo:
set htmlFile to "/path/to/filename/ext"
set htmlString to read htmlFile
set mdString to do shell script "/usr/bin/sed -E -e 's|<a href=\"|[link](|g' -e 's|\">link</a>|)|g' <<< " & htmlString's quoted form
O bien, procesando el archivo directamente:
set htmlFile to "/path/to/filename.ext"
set mdString to do shell script "/usr/bin/sed -E -e 's|<a href=\"|[link](|g' -e 's|\">link</a>|)|g'" & space & htmlFile's quoted form
Si This is a link: <a href="https://duck.com">link</a>
está en el portapapeles :
set htmlString to (the clipboard as text)
set mdString to do shell script "/usr/bin/sed -E -e 's|<a href=\"|[link](|g' -e 's|\">link</a>|)|g' <<< " & htmlString's quoted form
Nota: El uso de la findAndReplaceInText()
manipulador también puede utilizarse en lugar del do shell script
comando en estos otros ejemplos .