Regex 如何使用正则表达式替换字符串?
我一直在使用bash替换一组字符串。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=$
字符串看起来像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