양식 입력이 있습니다 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
셸의 스크립트를 통해 사용할 수 있습니다.
/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