需求:对一个字符串解析其中的字段,并替换下。
比如 xxxxxxxxxx&key=abcdef&xxx=fdsa&fdsa=xxxx
上边字符串想解析成 xxxxxxxxxx&key=helloworld&xxx=fdsa&fdsa=xxxx
shell 脚本怎么写?
key=后边的值是变量。是不同的
1
daviswei 2016-09-22 13:12:28 +08:00
sed 's/key=[^&]*/key=helloworld/'
试试这样替换一下 |
2
hailongs OP @daviswei 我擦! V2EX 是个好地方。感谢!另外,还想去除干扰一下,麻烦想想怎么做。
比如说如果这个字符串前边还有一个 expand_key=xxx,咱们只完全匹配 key=abcdef 的。这个需要怎么做? |
4
pright 2016-09-22 13:27:32 +08:00 1
\b 比较好,可以匹配出现在开始位置的
|
5
nozama 2016-09-22 17:03:41 +08:00
s="xxxxxxxxxx&key=abcdef&xxx=fdsa&fdsa=xxxx"
s2=${s//abcdef/helloworld} #====or==== echo $s | tr "abcdef" "helloworld" |
6
nozama 2016-09-22 17:11:10 +08:00 via iPhone
囧。我好像没有认真审题....
因为正在学 bash 、就顺手写下了…… |