我有一个表单输入A[BCDE]GT
。我希望我的输出是:
ABGT
ACGT
ADGT
AEGT
我尝试使用echo
, printf
,试图找到可能有用的东西。有谁知道一些有助于执行此操作的命令?
答案1
使用zsh
而不是bash
,您可以通过替换为来执行一些接近的[BCDE]
操作{BCDE}
:
$ set -o braceccl
$ print -l A{BCDE}GT
ABGT
ACGT
ADGT
AEGT
如果您的输入保证只包含单词字符和[
,]
字符:
set -o braceccl
input='A[BCDE]GT'
eval "output=( ${${${input//[^][[:IDENT:]]}//\[/{}//\]/\}} )"
print -l $output
答案2
您可以在 shell 中通过脚本使用它。
/usr/bin/env bash
echo 'input a letter (ABCDE)'
read value
echo A$value\GT
注意:检查 env 和 bash 的位置:
$whereis env && whereis bash
/usr/bin/env
/bin/bash