Bash 배열의 마지막 항목에서 마지막 문자 제거

Bash 배열의 마지막 항목에서 마지막 문자 제거

다음과 같은 배열이 있습니다.

Array={123},{456}

이제 마지막 항목을 삭제하고 싶습니다 6.

답변1

배열은 bash다음과 같이 정의됩니다.

a=(foo bar baz)

또는:

a=([12]=foo [5]=bar)

(배열은 bash키가 양수로 제한되고 요소가 숫자로 정렬되는 연관 배열과 비슷합니다.)

최신 버전을 사용하여 가장 큰 키를 가진 요소의 마지막 문자를 제거하려면 bash다음을 수행할 수 있습니다.

a[-1]=${a[-1]%?}

답변2

배열이 아니고 단지 이라는 변수일 뿐입니다 Array. 제거하다끝에서 두 번째부분 문자열 확장을 위해 이 변수의 문자를 사용할 수 있습니다. 예를 들면 다음과 같습니다.

$ Array={123},{456}
$ echo "${Array:0:${#Array}-2}${Array:${#Array}-1}"
{123},{45}

이는 ${#Array}변수 문자열의 문자 수를 나타냅니다.

관련 정보