Sed
- Print a pattern between two (exclusive) words:
echo "pattern" | sed -e 's/.*WORD1//' -e 's/WORD2.*$//'
Example: $ ./ovh-api-bash-client.sh --url "/ip/45.102.38.141"
200 {"organisationId":null,"country":"fr","routedTo":{"serviceName":"ns612429.ip-45-102-38.eu"},"ip":"45.102.38.141/32","canBeTerminated":true,"type":"failover","description":null}
We only want the routedTo information: $ ./ovh-api-bash-client.sh --url "/ip/45.102.38.141" | sed -e 's/.*serviceName":"//' -e 's/"},"ip":.*$//'
ns612429.ip-45-102-38.eu
|
- Replace new lines with a comma and a space:
sed -z 's/\n/, /'g my_file