표현식을 인쇄하려면 [ ]를 사용하세요.

표현식을 인쇄하려면 [ ]를 사용하세요.

양식 입력이 있습니다 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

관련 정보