【发布时间】:2018-06-25 01:26:30
【问题描述】:
我正在致力于在 Cloud Foundry 中自动化 CUPS(创建用户提供的服务)。我有一个cups.sh 文件,其中包含要为特定应用程序执行的相应cf cups 命令。下面是示例:
cf cups service-A -p '{"uri": "https://sample uri"}'
cf cups service-B -p '{"uri": "https://sample uri","id": "abcd","token": "xyz"}'
我正在尝试编写一个脚本将执行以下用例:
逐行解析cups.sh并提取服务名称(例如
service-A)和-p后面的参数(例如:'{"uri": "https://sample uri","id": "abcd","token": "xyz"}')。
我目前正在使用以下脚本:
File=cups.sh
sed -e 's/[[:space:]]*#.*// ; /^[[:space:]]*$/d' "$File" | while read line
do
temp=$(echo $line | cut -d' ' -f4)
echo $temp
done
这不准确,因为它返回给我"https://sample uri"}'。是否有更准确的方法来提取参数-p 并将其用于进一步操作?
【问题讨论】:
-
它没有提供准确的结果....我想在 -p 参数之后存储所有内容,包括括号和变量。
-
假设您的字段都是“单个空格分隔”的,请执行
echo $line | cut -d ' ' -f5-,它会打印字段 5 以及之后的所有内容。
标签: unix sed text-parsing