【发布时间】:2019-04-11 03:59:33
【问题描述】:
我想替换一个变量的值(可以包含一个数字、一个字符、一个字符串)。
$ echo $VAR
http://some-random-string.watch.film.tv/nfvsere/watch/skrz1j8exe/chunks.m3u8?nimblesessionid=30931574352........
到目前为止,我已经尝试过这个命令,但是它不起作用,所以我认为其中一些可能需要正则表达式。
$ echo $VAR | sed -e "s/\(http[^^]*\).*\(.watch\)/\1"mystring"\2/g"
$ echo $VAR | sed -e "s/\(https\?:\/\/\).*\(.watch\)/\1"mystring"\2/g"
$ echo $VAR | sed -e "s/\(http[s]\?:\/\/\).*\(.watch\)/\1"mystring"\2/g"
我知道有些问题可以回答类似的问题,但它们没有帮助。
【问题讨论】:
-
在问题中使用
some-random-string和mystring等术语的问题在于,据我们所知,它们绝对可以包含任何字符,这使得编写正则表达式或处理替换文本的方法具有挑战性.您能否更具体地说明它可以/不能包含的内容,并在您的问题中展示一些真正具有代表性的示例?确保包括预期的输出以及示例输入。 -
你是对的。谢谢。
-
不客气。如果不明显,鉴于
mystring中的各种字符,您选择的答案将失败,例如&或|或\1或 ...