如何逐步替换参数的值。
我的意思是,
例如- URL为https://example.com/?p=first&q=second&r=third
首先,我想在p param https://example.com/?p=123&q=second&r=third
上添加“123
然后再次使用相同的URL但不同的参数,例如q param https://example.com/?p=first&q=123&r=third
同样使用相同的URL但不同的参数,https://example.com/?p=first&q=second&r=123
我尝试了:
while read line; do
first_part=`echo $line | cut -d'=' -f1` second_part=`echo $line | cut -d'=' -f2`
echo "${first_part}=123${second_part}"
echo "${first_part}${second_part}=123"
done < urls.txt
2条答案
按热度按时间gajydyqb1#
所描述的问题是AWK功能的一个很好的应用。演示脚本包括URL和一个Map函数文件的示例,用于URL的全局转换。
这种方法允许参数“自由浮动”,而不依赖于URL字符串中特定顺序位置的匹配。
这种方法还允许参数是任意长度的字符串。
输出如下所示:
00jrzges2#
根据规范,HTML参数是无序的,所以你可以简单地把
p=
的新值放在尾部而不是原来的位置:对于
q=
相同。如果您要修改
r=
,则将FS
和OFS
都设置为"="
,并像$NF
的普通值更新一样执行此操作