Stacks Posted June 27 Share Posted June 27 I have a CLI command/script I run which performs an action. This works great with the "Run Script" item. However, I want to be able to parse the response from that script into an Alfred Variable and print it. Currently the only thing I have found is to wrap conditions within the bash script and return different outputs ,which is very limited. What I"d like to be able to do is regex parse or match on certain fields returned (such as the JSON body) and return just those matching fields. This is NOT the same as script filter as I want to return them as a notification, I don't want to change the output within the command line, and I only want to execute teh script once based on the single variable/field input. How can I parse the results/response of a field? Is there a way to match a variable to a regex? Link to comment
FireFingers21 Posted June 27 Share Posted June 27 This is a trimmed down version of the reload script from my linkding Bookmarks workflow: bookmarks=$(curl -s "${baseUrl}") case "${bookmarks}" in "") echo -n "linkding server not found" ;; *"Invalid token"*) echo -n "Invalid API Token" ;; *) mkdir -p "${alfred_workflow_data}" echo -nE "${bookmarks}" > "${bookmarks_file}" echo -n "Bookmarks Updated" ;; esac The curl command is run and its output assigned to the "bookmarks" variable. I then use a case statement to perform different actions based on whether the output is empty, contains "Invalid token", or the asterisk which matches any other output. Is something like that what you're looking for? Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now