특정 행의 변수에 ID를 저장하고 싶습니다.

특정 행의 변수에 ID를 저장하고 싶습니다.

내 파일에 이 줄이 있습니다.

용량 - 기본 ID: 205

205를 검색하여 변수에 저장하고 싶습니다. 어떤 제안이라도. ?

답변1

이를 수행하는 방법에는 여러 가지가 있습니다. 그 중 일부는 다음과 같습니다.

string='Capacity - Base ID:205'

variable="$(echo "$string" | awk -F: '{print $2}')"
variable="$(echo "$string" | cut -d: -f2)"
variable="$(echo "$string" | grep -o '[^:]*$')"

둘 다 205에 저장됩니다 $variable. 모두 문자 뒤에 오는 문자열 부분을 추출하여 작동합니다 :. 처음 두 개( awkcut)는 문자가 1개만 있다고 가정하고 :, 마지막( grep)은 :문자 수에 관계없이 파일의 마지막 문자 뒤의 모든 항목만 캡처합니다.

답변2

STRINGT=$(grep -m1 "BASE ID" ${file}); ID=${STRINGT:-3:3} 

이게 효과가 있어

관련 정보