我有一个服务(http://localhost:8080/tester)
,当我调用它时,它会给出下面的响应。我把格式缩短了,以便说清楚。你知道吗
modified=false
ver=10
PATH=/doc/path/abc
Servers:3
pri:{0=1, 1=2, 2=3, 3=4, 4=5, 5=6, 6=7, 7=8, 8=1, 9=2, 10=3, 11=4, 12=5, 13=6, 14=7, 15=8, 17=2, 16=1, 19=4, 18=3, 21=6, 20=5, 23=8, 22=7, 25=2, 24=1, 27=4, 26=3, 29=6, 28=5, 31=8, 30=7, 34=3, 35=4, 32=1, 33=2, 38=7, 39=8, 36=5, 37=6, 42=3, 43=4, 40=1}
sec:{0=2, 1=3, 2=4, 3=5, 4=6, 5=7, 6=8, 7=1, 8=3, 9=4, 10=5}
PATH=/doc/path/pqr
Servers:3
pri:{0=1, 1=2, 2=3, 3=4, 4=5, 5=6, 6=7, 7=8, 8=1, 9=2, 10=3, 11=4, 12=5, 13=6, 14=7, 15=8, 17=2, 16=1, 19=4, 18=3, 21=6, 20=5, 23=8, 22=7, 25=2, 24=1, 27=4, 26=3, 29=6, 28=5, 31=8, 30=7, 34=3, 35=4, 32=1, 33=2, 38=7, 39=8, 36=5, 37=6, 42=3, 43=4, 40=1}
sec:{0=2, 1=3, 2=4, 3=5, 4=6, 5=7, 6=8, 7=1, 8=3, 9=4, 10=5}
我需要阅读这个响应并提取pri
和sec
的值,但只针对PATH=/doc/path/abc
。现在pri
和sec
的格式如下:
{value1=key1, value2=key2, value3=key2, value4=key1}
每个唯一键在pri
和sec
列表中都可以有多个值。现在我需要同时读取pri
和sec
列表,并通过基于如下唯一键对值进行分组,为pri
列表和s.txt
列表创建两个文件p.txt
:
p.txt这里的键和值来自pri
列表。你知道吗
{key1=[value1, value2, value3, value4, value5, value6, value7, value8], key2=[value9, value10, value11, value12, value13, value14]}
s.txt这里的键和值来自sec
列表。你知道吗
{key1=[value1, value2, value3, value4, value5, value6, value7, value8], key2=[value9, value10, value11, value12, value13, value14]}
我不知道如何提取pri
和sec
值只为PATH=/doc/path/abc
和相应的文件p.txt
和s.txt
通过分组每个唯一键的值就像上面的格式。你知道吗
DATA=$(wget -O - -q -t 1 http://localhost:8080/tester);
echo $DATA
# extract pri and sec here and then group values basis on unique keys
# and generate files accordingly.
while IFS= read -r $DATA
do
echo "$line"
done
嗯,我的Perl有点生疏了,但这里有一些东西可以让你开始。它解析整个数据结构,然后提取命令行中给定的部分。我不知道您使用的是什么版本的Perl,也不知道您是否有能力安装模块,所以我尽可能地保留了它。你知道吗
像这样使用:
相关问题 更多 >
编程相关推荐