2017-09-19 3 views
1

awk를 사용하여 새롭고 열에서 데이터를 추출하는 데 매우 유용하다는 것을 알았습니다.awk로 파일에서 변수 읽기?

awk '/Data:/ {print $3}' file.txt 

그러나 다음, 나는 파일 내부의 변수를 가지고 있었다의 말을하자 :

variable_1=1 
variable_2=4 
을 내가 사용하는 두 번째 열을 원한다면 내 파일의 예를 들어 내가

Data:  1234  23434  31324 

했다

어떻게 값을 추출 할 수 있습니까? 값을 알면 변수의 이름을 어떻게 추출 할 수 있습니까? 필드 구분 기호를 지정

+0

는하지 마십시오 @anubhava 값에 대응하기 것은 당신이 사용할 수있는 –

+0

일'variable_1' 'Data'를 사용하는 것과 같은 방법으로 원하는 단일 행을 선택하십시오. – anubhava

+0

당신을 위해 일해야한다고, @ hek2mgl에서 아래 답변을 참조 –

답변

2

awk 제공 :

awk -F'=' '$1 == "variable_1" {print $2}' file 

인쇄 :

1 
+0

예, 새로운 구분 기호를 지정하지만 어떻게 값만 사용할 수 있습니까? 효과가 있었지만 오른쪽으로 더 많은 문자가있는 경우에는 추출 할 수도 있습니다. –

+2

@JoshuaSalazar 입력 데이터와 예상 출력에 대한 구체적인 예를 들려 줄 수 있습니까? – hek2mgl

+0

내 코드에 주석이 달린 경우 어떻게됩니까? 'variable_1 = 1 #이 변수는 1에 해당합니다.' 귀하의 솔루션으로 나는 >> 1로 출력합니다.이 변수는 숫자 1에 해당합니다. –

0

당신은 당신의 파일을 많은 것들을 할 수있는, 당신이 정말로 무엇을 원하는가?
얻기 값 :

source file.txt 
echo "variable_1=${variable_1}" 
echo "variable_2=${variable_2}" 

키가 2

sed '/=2$/ s/=.*//' file.txt