길이가 20자인 문자열이 있습니다.
예를 들어 6과 같은 임의의 숫자가 있습니다.
예를 들어 $var="%"와 같은 변수가 있습니다.
문자열의 6번째 위치에 변수를 어떻게 삽입하나요?
예:
입력: 아아아아아아아아아아아아아
출력: aaaaa%aaaaaaaaaaaaaa
에코 입력 |마법> 출력
답변1
에는 없지만 관심 있는 분이 계시다면 perl
.sed
INPUT="aaaaaaaaaaaaaaaaaaaa"
random_number="6"
var="%"
echo ${INPUT} | sed -e "s/./${var}/${random_number}"
답변2
귀하가 이 콘텐츠에 다음을 태그했기 때문입니다 perl
.
echo aaaaaaaaaaaaaaaaaaaa | var=% perl -lpe 's/^.{5}\K/$ENV{var}/e'
또 다른 방법 perl
:
echo aaaaaaaaaaaaaaaaaaaa | var=% perl -lpe 'substr $_, 5, 0, $ENV{var}'
답변3
이것은 당신이 원하는 것을 수행하는 것 같습니다 :
mystring="This is a test"
inject="____"
randomnumber=4 # determined to be random by fair die roll
echo ${mystring::$randomnumber}${inject}${mystring:$randomnumber}
답변4
$var가 이미 액세스할 수 있는 Perl 변수입니까, 아니면 쉘 변수입니까?
이 특별한 경우에는 substr
.
$ echo "123456789" | perl -lpe 'substr $_, 5, 0, "insert"'
12345insert6789