awk는 파일 변수의 키워드 아래에 값을 저장합니다.

awk는 파일 변수의 키워드 아래에 값을 저장합니다.

awk를 사용하여 특정 단어 아래의 모든 줄을 Label변수에 인쇄 하려고 합니다 $var. 이 예에는 두 개의 값이 있지만 항상 그런 것은 아니지만(매번 다를 수 있음) 단어는 항상 동일하고 동일한 위치에 있습니다. echo단어가 발견된 줄을 제외하고 두 가지 시도가 모두 실행되었습니다 .

문서

[Header]                                
Name    1                                                   

[ID]                                
1
1                               

[ID1]                               

[Info]                              
Label   xxx
1,,,,xxx
2,,,,yyy

앗 1

var=$(awk -vvar="Label" '($1 == var) {print $0}' file)
echo "$var"

Label   xxx

앗 2

var=$(awk '/Label/{for(i=0;i<1;i++){print;getline}}' file)
echo "$var"

Label   xxx

원하다

echo "$var"
1
2

답변1

변수 사용 - 내가 호출한 예에서는 p. 태그를 찾은 후 변수를 설정합니다. 다음 줄부터 시작해서 해당 줄을 인쇄하세요.

var=$(awk 'p==1{print} /Label/{p=1}' file)

또는 변수를 사용하여 "태그" 검색 문자열을 저장합니다.

var=$(awk -vlab="Label" 'p==1{print} $1==lab{p=1}' file)

관련 정보