일부 문자열이 있고 콜론 ":"으로 분할하여 변수에 왼쪽 부분의 이름과 오른쪽 부분의 값을 할당하고 싶습니다. 예를 들어:
echo "Title: Some title" | sed 's/:.*//'
원하는 변수 이름 "Title"을 입력하고 다음을 수행합니다.
echo "Title: Some title" | sed 's/.*: //'
"일부 헤더"라는 값을 알려주세요.
내 질문은 위 명령의 출력을 통해 "Title"이라는 변수를 할당하는 방법입니다.
값을 할당할 수 있지만 $(echo "Title: Some title" | sed 's/.*: //)
이름을 할당하는 방법을 찾을 수 없습니다.
답변1
이것은 다소 이상한 일이지만 다음과 같은 export
문장을 구성할 수 있을 것 같습니다.
$ export $(echo "Title: Some title" | sed 's/:.*//')="$(echo "Title: Some title" | sed 's/.*: //')"
$ echo $Title
Some title
답변2
답변3
아마도 이것은 예상된 결과를 줄 것입니다.
#!/bin/sh
export Variablename="$(echo "Title: Some title" | awk -F':' '{ print $1}')=\"$(echo "Title: Some title" | awk -F':' '{ print $2 }' | sed -e 's/^[[:blank:]]*//g')\""
산출:
title="일부 제목"