Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何使用正则表达式替换字符串?_Regex_Bash - Fatal编程技术网

Regex 如何使用正则表达式替换字符串?

Regex 如何使用正则表达式替换字符串?,regex,bash,Regex,Bash,我一直在使用bash替换一组字符串。 字符串看起来像set18set18_nopep.fa。我想用set18/set18nopep.fa替换字符串。数字可以是1-9999。因此位数也是可变的。要在数字末尾和单词set之间加一条斜线,请执行以下操作: $ s=set18set18_nopep.fa $ echo "$s" | sed -r 's|([[:digit:]])set|\1/set|' set18/set18_nopep.fa 要将新值分配给名为t的字符串,请执行以下操作: $ t=$

我一直在使用bash替换一组字符串。
字符串看起来像set18set18_nopep.fa。我想用set18/set18nopep.fa替换字符串。数字可以是1-9999。因此位数也是可变的。

要在数字末尾和单词
set
之间加一条斜线,请执行以下操作:

$ s=set18set18_nopep.fa
$ echo "$s" | sed -r 's|([[:digit:]])set|\1/set|'
set18/set18_nopep.fa
要将新值分配给名为
t
的字符串,请执行以下操作:

$ t=$(echo "$s" | sed -r 's|([[:digit:]])set|\1/set|')
$ echo "$t"
set18/set18_nopep.fa

要在数字末尾和单词
set
之间加一条斜线,请执行以下操作:

$ s=set18set18_nopep.fa
$ echo "$s" | sed -r 's|([[:digit:]])set|\1/set|'
set18/set18_nopep.fa
要将新值分配给名为
t
的字符串,请执行以下操作:

$ t=$(echo "$s" | sed -r 's|([[:digit:]])set|\1/set|')
$ echo "$t"
set18/set18_nopep.fa
输出:

set18/set18_nopep.fa set18/set18_nopep.fa 输出:

set18/set18_nopep.fa set18/set18_nopep.fa