파일을 분류하고 특정 줄을 출력으로 갖고 싶습니다.
이름="XXX"
$name 변수에 XXX만 할당하는 방법
답변1
파일이 쉘 또는 bash 코드인 경우최선의 선택source
모든 변수를 얻으려면 파일을 제출 해야 합니다 .
. ./file
또는 모든 것이 셸 코드가 아니거나 그 안에 있는 모든 것을 실행하고 싶지 않은 경우 source
이전에 파일을 필터링했다면 여전히 그렇게 할 수 있습니다.
. <(grep '^NAME=' file)
그런 다음 변수를 사용할 수 있습니다 $NAME
.
대안:
사용 가능한 경우 다음을 사용하십시오 grep -P
.
name=$(grep -Po '^NAME="\K[^"]*' file)
grep
없이 사용 -P
:
name=$(grep -o '^NAME="[^"]*' file | sed 's/NAME="//')
사용 awk
:
name=$(awk -F\= '$0~/^NAME/{gsub(/"/,"",$2);print $2}' file)