라는 파일이 stuff.txt
있습니다. 해당 파일에 여러 줄이 있습니다. 이것은 해당 파일의 행 중 하나입니다 "somevalue": "4.2.1"
. 두 번째 큰 따옴표 집합 (4.2.1) 사이의 값을 가져 오는 셸 스크립트를 만들고 있습니다. 지금까지 쉘 스크립트에있는 내용은 다음과 같습니다.
substringVal=$(grep '\"somevalue\": \"' stuff.txt)
이 스 니펫은 "somevalue": "4.2.1"
내 변수에 값 을 저장 substringVal
하지만 substringVal
포함 하고 싶습니다 4.2.1
. 부분 문자열이 얼마나 길지 모르기 때문에 특정 문자 수에 대해 특정 색인에서 시작하는 부분 문자열을 취할 수는 없습니다.
나는 보았지만 awk
그것이 나를 위해 작동하도록 할 수 없었습니다. 누군가 내 셸 스크립트에서 내 명령을 수정하여 줄에서 하위 문자열을 가져 오는 방법에 대한 올바른 방향을 알려줄 수 있다면 감사하겠습니다. 미리 감사드립니다.
나를 위해 이런 식으로 작동했습니다.
substringVal=$(grep '\"somevalue\": \"' stuff.txt)
echo $substringVal
"somevalue": "4.2.1"
echo $substringVal | awk -F": " '{print $2}' | sed 's/\"//g'
4.2.1
따라서 awk 명령은 ":" "구분 기호까지 모두 건너 뜁니다. 그리고 sed는 마지막 이중 인용 부호를 제거합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다